Clang 似乎在警告我在表达式中未使用 aa char,这是整个代码部分:
int yeller(const char * channel) {
char *p, *q;
q = p = MAKE_COPY(temp->bind_chan);
while ((p = next_in_comma_list(q, &q))) {
if (!p || !*p)
break;
if (!my_stricmp(p, channel))
return tmp;
特别是这一行:
q = p = MAKE_COPY(temp->bind_chan);
尽管在封闭表达式中使用了存储到“p”的值,但实际上从未从“p”中读取该值
我显然是在 while 循环中评估它,这真的是一个“错误”还是我做错了什么?