如何忽略“有符号和无符号整数表达式之间的比较”?
Posted
技术标签:
【中文标题】如何忽略“有符号和无符号整数表达式之间的比较”?【英文标题】:How to ignore 'comparison between signed and unsigned integer expressions'? 【发布时间】:2010-12-07 14:51:22 【问题描述】:谁能告诉我我必须使用哪个标志才能使 gcc 忽略“有符号和无符号整数表达式之间的比较”警告消息。
【问题讨论】:
【参考方案1】:gcc -Wno-sign-compare
但是无论如何,您确实应该修复它警告您的比较。
【讨论】:
但是,一些风格指南(例如 Google 的)建议不要使用无符号类型。 google-styleguide.googlecode.com/svn/trunk/… @Sancho 在处理std
容器索引/大小时会怎样?
只想说这是一个很好的答案。先回答,再传道。当它反过来时,它真的在我心中沸腾。
@AlexanderHuszagh std::string::find
返回一个std::string::size_type
,巧合的是std::string::npos
的类型。将std::string::size_type
与另一个std::string::size_type
进行比较,我从来没有遇到过任何问题。
在我看来,谷歌的风格指南有很多争议点,这就是其中之一。【参考方案2】:
这对我有用,在 Code::Blocks 中使用 gcc 编译器。在编译器设置中,单击“编译器设置”选项卡,然后选择“其他编译器选项”。输入 -Wno-sign-compare 警告 -Wsign-compare 可以通过添加“-Wno”作为前缀来否定。事实上,可以通过在警告代码中添加 -Wno- 来忽略警告。
【讨论】:
以上是关于如何忽略“有符号和无符号整数表达式之间的比较”?的主要内容,如果未能解决你的问题,请参考以下文章