我有两个文件:如何在extern变量在其他文件中声明不同时使g ++生成警告?
a.cpp
#include <iostream>
using namespace std;
int a[100];
int main() {
cout << "Hello World" << endl;
}
b.cpp
#include <iostream>
using namespace std;
extern double a[50];
显然有 “一” 的两个文件有冲突的声明。但是当我运行时
g++ a.cpp b.cpp
编译静静地成功。
有什么办法可以让g ++抱怨冲突(无论是通过警告还是错误)?
我试过了-Wshadow和-Wshadow-all标志。他们没有帮助。
你试过-Wshadow? –
另外,加上'-Wshadow = global','local'或'compatible-local',所以你可以根据需要对其进行微调。不过,不要全局使用名称空间。或者一般来说,理想情况下。 –