问题描述
我尝试使用以下表达式初始化数组:
const a: array[3,uint8] = [1,2,3]
echo repr(a)
编译器输出:
Error: type mismatch: got <array[0..2,int]> but expected 'array[0..2,uint8]'
有没有传统的方法来做到这一点?
解决方法
您正在使用 int[] 表达式初始化 uint8[]。为了正确初始化它,您需要使用兼容的文字。
例如:
const a: array[3,uint8] = [1'u8,2,3]
通过使用 'u8 后缀将数组表达式的初始元素标记为 uint8,您可以使整个数组表达式成为 uint8[]。