변형 부스트를 사용하여 개체 목록을 만들려고합니다.C++ 단순 변형 부스트
#include <string>
#include <list>
#include <iostream>
#include <boost/variant.hpp>
using namespace std;
using namespace boost;
class CSquare;
class CRectangle {
public:
CRectangle();
};
class CSquare {
public:
CSquare();
};
int main()
{ typedef variant<CRectangle,CSquare, bool, int, string> object;
list<object> List;
List.push_back("Hello World!");
List.push_back(7);
List.push_back(true);
List.push_back(new CSquare());
List.push_back(new CRectangle());
cout << "List Size is: " << List.size() << endl;
return 0;
}
불행하게도, 다음과 같은 오류가 생성됩니다
CSquare x;
CRectangle y;
List.push_back("Hello World!");
List.push_back(7);
List.push_back(true);
List.push_back(x);
List.push_back(y);
하지만 난 그 양식을 피하기 위해 싶습니다
/tmp/ccxKh9lz.o: In function `main':
testing.C:(.text+0x170): undefined reference to `CSquare::CSquare()'
testing.C:(.text+0x203): undefined reference to `CRectangle::CRectangle()'
collect2: ld returned 1 exit status
나는 내가 양식을 사용하면 모든 것이 잘 될 것이라고 실현 가능하다면 나는 내 물건의 이름을 지키고 싶다. 이것은 내 시스템에 대해 요구 사항입니다. - 명명 된 객체 사용을 피할 수있는 방법이 있습니까?
많은 감사 스튜어트 :) – Ramsey
@Ramsey : 환영합니다 :) –