【发布时间】:2017-05-13 17:52:42
【问题描述】:
我正在为 ARM 控制器开发 Keil 编译器并用 C 编写代码。我被这个警告卡住了,我得到了这个:
warning : passing 'char [7]' to parameter of type 'unsigned char *'converts between pointers to integer types with different sign.
例行公事:
void WriteString(unsigned char *Msg_add)
{
for(Lcd_pointer=0; Lcd_pointer < 16; Lcd_pointer++)
{
Write_lcd_data(*Msg_add);
Msg_add++;
if(*Msg_add == '\0')
break;
}
}
我正在使用随机字符串传递上述例程:
WriteString("Token:");
顺便说一句,这些功能有效,但我收到了这个警告。如何删除?
【问题讨论】:
-
WriteString((unsigned char*)"Token:"); -
编译器可能有一个开关来允许指针到字符类型之间的隐式转换