无法使用 uint8 类型初始化数组
Can't init array with uint8 type
我尝试使用以下表达式初始化数组:
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[]。
我尝试使用以下表达式初始化数组:
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[]。