繁体   English   中英

GNU c++ 编译器选项来标记 if (a = b)

[英]GNU c++ compiler option to flag if (a = b)

今天早上脑筋急转弯。 不记得要标记的 GNU 编译器选项

if (a = b) 

作为警告/错误,因为它是一个任务,而不是一个条件。

最简单的方法是启用所有警告并查看报告的内容:

int main(int argc, char **argv){
    if(argc=0) ;
}

-Wall编译

你会得到警告:

<source>: In function 'int main(int, char**)':

<source>:3:12: warning: suggest parentheses around assignment used as truth value [-Wparentheses]

    3 |     if(argc=0) ;

      |        ~~~~^~

Compiler returned: 0

所以选项是: -Wparentheses

https://godbolt.org/z/6ac1zG

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM