-1

在 h 文件中我声明:

static IDataSynchronization& sync_data_;

但是在 cpp 中,我对 sync_data_ 有编译错误:

IDataSynchronization& MasterSlaveSynchronize::sync_data_;

错误是:

MasterSlaveSynchronize::sync_data_ declared as reference but not initialized

我可以,但不想将其声明为指针,我想了解这里有什么问题以及是否有办法绕过它。

我无法在声明时初始化,因为这是一种将在设置时传递的回调(无构造函数,静态设置)。

谢谢

4

2 回答 2

2

你可以,但你需要初始化它:

IDataSynchronization& MasterSlaveSynchronize::sync_data_ = something;
于 2012-10-04T12:40:38.993 回答
1

引用必须在声明中初始化。如果从您的评论看来您无法做到这一点,那么您将不得不求助于指针。那里没有第三种选择。

于 2012-10-04T12:46:47.397 回答