问题场景:
Component类的.h中定义了公有静态成员属性static const char* channel;
但是在.cpp中使用了它,之后编译报错:无法解析的外部符号 “public: static char const const Component::channel” (?channel@component@@2PBDB)
追踪channel的源头发现找到了好多(因为其他驱动中也定义了),使用过程中不能确定它的源头。最后发现没有对静态成员属性进行初始化
应该是只声明了静态变量,没有定义该变量(没有申请内存),所以使用不了吧!
const char Component::channel = “chn”;
所以在c++中使用静态变量的时候一定要记得初始化操作!!!