我有一組存儲靜態常量數據成員的工具類。現在我需要在功能類中使用這些數據成員。我打算使用引用(不要指針)到靜態const對象,但不斷收到下面的錯誤。你能指出代碼中的邏輯/技術錯誤嗎? âstaticData&距離型的表達âconst引用靜態const數據對象
#include <string>
class staticData
{
public:
static const int cs = 1;
static const staticData data1;
private:
staticData(int id_): _id(id_) //NOTE: Private constructer, static access only!!
{ }
int _id;
};
const staticData staticData::data1(1001);
class testReference
{
public:
testReference(): _member(staticData::data1)
{}
private:
staticData& _member;
};
的類型的引用無效初始化staticDataâ
我想保留static const staticData data1,但希望能夠更改_member可能引用的內容。那可能嗎? – vid
@vid no。引用不能改爲引用不同的對象。它總是會引用'data1'。儘管如此,你可以使用一個指針。 –
@vid請參閱編輯... –