g ++为未使用的局部变量生成警告。是否可以让g ++警告未使用的类成员变量和/或全局变量?
class Obj {
public:
Obj(int a, int b) : num1(a), num2(b) {}
int addA(int i) {
return i + num1;
}
private:
int num1;
int num2;
};
如何让g ++警告我num2
未被使用?
更新: 我目前正在编译:
g++ -Wall -Wextra -pedantic *.cc -o myprogram
答案 0 :(得分:5)
我不知道有任何这样的警告。此外,我推测它不存在的原因是因为它无法在所有情况下可靠地生成,因此他们选择不花费精力使其适用于某些子集的案例。例如,如果类friend
是库中的另一个函数,则编译器无法知道该库是否突变了任何特定的类属性。
答案 1 :(得分:5)
Clang -Wunused-private-field
启用您要求的警告。在您的代码库中,它显示:
$ clang -Wunused-private-field /tmp/nic.cpp
/tmp/nic.cpp:10:22: warning: private field 'num2' is not used [-Wunused-private-field]
int num2;
^
1 warning generated.
答案 2 :(得分:4)