gpt4 book ai didi

c 警告消息 : conversion of nonzero integer to pointer

转载 作者:行者123 更新时间:2023-12-02 07:33:28 24 4
gpt4 key购买 nike

我有以下代码,并且在 if 语句上收到编译器发出的“将非零整数转换为指针”警告。

我尝试了多种组合来删除警告,包括用双引号将我的条件的右侧括起来,例如。 “1”,这会使警告消失,但条件不起作用。

if ((unsigned char*)buffer[8] == '1' && (unsigned char*)buffer[9] == '1')
{
unsigned char colorPtr = (unsigned char*)&buffer[10];
singleColor(CDCInstance, lightCount, colorPtr, 6);
}

缓冲区的类型为void *

最佳答案

类型转换具有较低的 precedence[] 运算符。您当前的代码与

if ((unsigned char*) (buffer[8]) == '1' && (unsigned char*) (buffer[9]) == '1')
/* note parentheses: ^ ^ ^ ^ */

你可能是说

if (((unsigned char*) buffer)[8] == '1' && ((unsigned char*) buffer)[9] == '1')
/* ^ ^ ^ ^ */

相反。

关于c 警告消息 : conversion of nonzero integer to pointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19400320/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com