单例模式的重定义问题
目录结构
cmake将五个文件一起编译
在DataTransmission.h中,定义了单例模式的class SingletonDataTransfer
如果在头文件中初始化单例模式中的指针m_pInstance,或出现重定义问题,因为cmake会编译(DataTransmission.h DataTransmission.cc) (DataTransmission.h main.cc)然后将二者链接起来
所以会出现这个错误
解决方法是把DataTransmission.cc里的代码全部写到DataTransmission.h中来,但是这样做并不好
所以第二种解决方法是吧静态私有成员变量的定义放在头文件之外,这样就不会报重定义的错误了
无情的摸鱼机器