所以我收到这个警告
警告:将“char[6]”传递给“uint8_t *”类型的参数(又名“unsigned char *”)会在指针之间转换为整数类型,其中一个是 唯一的普通“char”类型,另一个不是 [-Wpointer-sign]
编译以下调用
void my_func(uint8_t *)
函数的代码:
my_func(UINT8_C("world"));
UINT8_C
来自 stdlib.h
IIRC使用时也发生同样的事情
my_func((uint8_t)("world"));
我本以为显式强制转换会消除警告,为什么不呢?
根据编译器和设置,char 可能有符号或无符号。您可能想使用
clang -funsigned-char
。