정적 const 데이터 멤버를 저장하는 유틸리티 클래스 집합이 있습니다. 이제는 기능 클래스에서이 데이터 멤버를 사용해야합니다. 정적 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 & 형태의 표현에서 staticDataâ
static const staticData data1을 유지하려고하지만 _member가 참조 할 수있는 것을 변경할 수 있기를 원합니다. 그게 가능하니? – vid
@vid no. 다른 개체를 참조하도록 참조를 변경할 수 없습니다. 항상'data1'을 참조 할 것입니다. 당신은 그것에 대한 포인터를 사용할 수 있습니다. –
@vid 편집보기 ... –