혼란스러운 제목에 대해 유감이지만 더 자세히 설명하려고합니다. 나는이 특정 문제를 검색을 통해 찾을 수 없었습니다. 그래서 놓친 경우 올바른 스레드로 나를 가리켜주십시오 ...C++에서 다른 클래스 템플릿을 상속 한 클래스 템플릿 선언
저는 클래스 템플릿을 기반으로 사용하고있는 하나의 매개 변수에 따라 달라집니다 클래스 :
template <class TVertex>
class DrawExecutorDX11
{
public:
DrawExecutorDX11();
virtual ~DrawExecutorDX11();
void AddVertex(const TVertex& vertex);
protected:
TGrowableVertexBufferDX11<TVertex> VertexBuffer;
};
내가하고 싶은 것은이 클래스 템플릿에서 상속하는 것이며, 동시에 하위 클래스에 다른 클래스 템플릿 매개 변수를 추가합니다. 나는이 구성 날과 같이 서브 클래스 템플릿의 인스턴스를 선언 할 수 있도록 할 것으로 기대하고있다
template <class TVertex, class TInstance>
class DrawInstancedExecutorDX11<TInstance> : public DrawExecutorDX11<TVertex>
{
public:
DrawInstancedExecutorDX11();
virtual ~DrawInstancedExecutorDX11();
void AddInstance(const TInstance& data);
protected:
TGrowableVertexBufferDX11<TInstance> InstanceBuffer;
};
: 구문에서 내 시도는이 같은 것 그러나
DrawInstancedExecutorDX11<VertexStruct,InstanceStruct> myExecutor;
, VS2012은 '아무튼 심지어 하위 클래스를 컴파일하는 것을 고려하고 DrawInstancedExecutorDX11 클래스 다음에 세미콜론이 필요하다는 것을 나타냅니다. 솔직히 말하자면, 전에 이런 유형의 템플리트 배열을 시도한 적이 없으므로 다른 사람이이 작업을 수행했는지 궁금합니다. 그렇다면 기본 구문 오류가 있습니까? 아니면 다른 문제가 있습니까? 당신이 줄 수있는 도움이나 안내에 미리 감사드립니다!
옆에 빈 체크 표시가 나타납니다. 답변을 주셔서 감사합니다 (@ K-ballo와 동시에 답변하셨습니다). 또한 답변에 대한 추가 컨텍스트가 추가됩니다. 다시 한 번 감사드립니다! –