首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCC 4.2编译器中错误声明方法的错误检测失败

GCC 4.2编译器中错误声明方法的错误检测失败
EN

Stack Overflow用户
提问于 2010-05-22 15:35:57
回答 2查看 182关注 0票数 2

我使用的是XCode 3.2.2中的C++编译器GCC 4.2。我已经注意到,即使没有省略号,编译器也会成功编译方法foo。头文件和方法被正确地声明为foo(),但当我通过文件或程序范围进行查找和替换时,它将遗漏大约2-3%的更改[foo to foo() ]。如果编译器没有给出错误的成功构建,这将不是关键的。我没有发现:foo(任意参数)会发生这种情况。有人有什么解决方案吗?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-05-22 16:04:57

从你的问题中不清楚你实际询问的是什么,但如果是函数调用,那么:

代码语言:javascript
复制
void foo() {
}

int main() {
    foo();    // valid C++ - call foo
    foo;      // valid C++ - get  a function pointer
}

如果你想要一个关于第二次使用foo的警告,用GCC -Wall标志进行编译(在任何情况下你都应该一直使用这个标志)-这将给你:

代码语言:javascript
复制
f.cpp:6: warning: statement is a reference, not call, to function 'foo'
f.cpp:6: warning: statement has no effect
票数 2
EN

Stack Overflow用户

发布于 2010-05-24 10:27:48

要通过xcode添加一个GCC旗帜:

  • 转到“项目”菜单,选择"Edit Project Settings"

  • Select "Build“选项卡
  1. 找到"Other C++ Flags”“设置,然后双击右侧的空白处
  2. 单击加号并添加"-Wall"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2887320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档