C++初学者在这里。变量的多重定义
我正在写一个简单的程序,其在三个薄片分为:
foo.h中(#包括所有需要的库,所有的程序的变量和各个函数的声明)
Foo.cpp中(#包括foo.h中,包含了foo.h功能定义)
main.cpp中(#包括当然foo.h中,并且包含主函数)
予编译命令:克++ * CPP -o时间
我得到的错误是:
/tmp/cc0sNZgq.o:(.bss+0x0):VARIABLENAME的”多个定义对于在foo.h中声明的每个变量,'。其次:
collect2:错误:LD返回1退出状态
注:我已经把包含头文件foo.h中后卫
我想有其中载有头所有变量和函数声明,以便main.cpp保持尽可能简单和干净。
我在网上查找并找不到解决方案。
您在头文件中有变量的*定义*,而不仅仅是*声明*。所以你的定义出现在两个编译文件中。 [请阅读'extern'关键字。](http://en.cppreference.com/w/cpp/language/storage_duration),或者创建一个类的变量'static'成员。 – BoBTFish
欢迎使用堆栈溢出。请花些时间阅读[The Tour](http://stackoverflow.com/tour),并参阅[帮助中心](http://stackoverflow.com/help/asking)中的资料,了解您可以在这里问。 –