다음 코드는 MSVStudio 2010 Express에서 컴파일되지 않고 부스트 컨테이너 선언이 포함 된 유형의 (정적?) 인스턴스를 생성하기 때문인 것으로 보입니다. boost::ptr_list<TypeContained>
에서 std::list<TypeContained *>
으로 변경하면 성공적으로 컴파일되지만 부스트 컨테이너가 마음에 듭니다. 누구든지 내가이 문제를 어떻게 해결할 수 있을지 생각해? 오류가 너무 error C2504: 'Proxy<TypeContainer,TypeContained>' : base class undefined
부스트 컨테이너가 정의되지 않은 (선언 된) 클래스로 컴파일되지 않음
#include <string>
#include <boost/ptr_container/ptr_list.hpp>
template <typename TypeContainer, typename TypeContained>
class Proxy
{
private:
typename boost::ptr_list<TypeContained>::iterator m_clsPosition;
public:
class Container {};
};
template <typename V> class Container;
template <typename V>
class Dependent : public Proxy<Container<V>, Dependent<V> >,
public V {};
template <typename V>
class Container : public Proxy<Container<V>, Dependent<V> >::Container {};
int main(int argc, char * argv[])
{
Container<std::string> clsContainer;
return 0;
}
컴파일러 옵션은 무엇입니까? – gda2004