의 인스턴스를 만들 수 없습니다 :C++ 나는 다음과 같은 클래스가 추상 클래스
(헤더)struct udtMapping
{
int ByteStart;
int ByteCount;
int iHPUnitID;
};
class clsMapping : public CBaseStructure
{
private:
vector<udtMapping> m_content;
protected:
public:
vector<udtMapping> &Content();
void Add(int i1, int i2, int int3);
};
CPP 파일
:
vector<udtMapping> &clsMapping::Content()
{
return m_content;
}
void clsMapping::Add(int i1, int i2,int i3)
{
udtMapping n;
n.ByteStart = i1;
n.ByteCount = i2;
n.iHPUnitID = i3;
m_content.push_back(n);
return;
}
지금 내가 말함으로써이 클래스를 사용하고 싶었
clsMapping nMapping;
그러나 컴파일 r은 "추상 클래스에서 인스턴스를 만들 수 없습니다"라고 알려줍니다.
어디서 잘못되었는지 확신 할 수 없습니다. 도움 주셔서 감사합니다.
편집 : 요청에 여기 추상 클래스 여야합니다 CBaseStructure
class CBaseStructure
{
protected:
virtual void ProcessTxtLine(string line) = 0;
virtual void AfterLoad();
virtual string CompactLine(string line);
public:
void Load(string file);
void Load2(string file);
void Load3(string file);
};
'clsMapping'가 오버라이드 (override)하지 않는'CBaseStructure'의 순수 가상 멤버 함수가 있습니다. 당신은'CBaseStructure'의 정의를 보여줄 수 있습니까? –