在h文件中我声明:
static IDataSynchronization& sync_data_;
但是在cpp中,我有sync_data_的编译错误:
IDataSynchronization& MasterSlaveSynchronize::sync_data_;
错误是:
MasterSlaveSynchronize::sync_data_ declared as reference but not initialized
我可以,但不想声明是指针,我想知道这里有什么问题,是否有办法绕过这个。
我无法初始化声明,因为这是一种将在setup(无构造函数,静态设置)传递的回调。
谢谢
答案 0 :(得分:2)
你可以,但你需要初始化它:
IDataSynchronization& MasterSlaveSynchronize::sync_data_ = something;
答案 1 :(得分:1)
必须在声明中初始化引用。如果从你的评论看起来你不能这样做,那么你将不得不诉诸指针。那里没有第三种选择。