5

我希望为以下 C++ 编译问题和相应的编译器启用警告:

  1. 未使用的变量——Sun Studio CC

    例子:void m() { int i = 10; }

  2. 有符号到无符号比较 - VC++Sun Studio CC

    例子:if ((unsigned) 10 < -1);

  3. 错误的字段初始化顺序 - VC++Sun Studio CC

    例子:class A { int i, j; A() : j(0), i(0) {} };

所有这些都被 GCC 捕获,我想在 VC++ 和 Sun Studio 中启用这些。

bash-4.1$ g++ -Wall main.cpp
main.cpp: In function ‘void m()’:
main.cpp:1: warning: comparison between signed and unsigned integer expressions
main.cpp:1: warning: unused variable ‘i’
main.cpp: In constructor ‘A::A()’:
main.cpp:1: warning: ‘A::j’ will be initialized after
main.cpp:1: warning:   ‘int A::i’
main.cpp:1: warning:   when initialized here

编辑:在 VC++ 上启用有符号到无符号比较警告之外,所有其他选项似乎都不可能。

4

1 回答 1

2

在 Visual Studio、项目属性、C++ 中,将警告级别设置为 4(最大)- VC++ 编译器会给出所有可能的警告。AFAIK,报告了警告 1 和 2,VC++ 编译器不报告字段初始化顺序。

于 2011-06-29T08:37:06.993 回答