最近在玩vs 2017
从dev里移植过来一个工程之后,编译死活过不去报错!!
网上查阅资料发现,是两个实现文件中重复包含了头文件而造成的。
要注意的是,在这里,在头文件中加入#ifndef……#endif这样的预编译命令是没用的,因为这是防止嵌套包含头文件的,而本例中并没有嵌套包含,是 在两个文件中分别包含。
因为这三个变量在两个实现文件中都要用到,所以一定要包含在A.h中
解决办法:
把点h中的变量放到另一个cpp文件中,其他cpp需要使用则加extern关键词
,编译器会自动查找
dev不会这样的啊md!!
在只有一个h和一个cpp文件的工程中不会出现这样的问题