이 코드를 작성했지만 작동하지 않습니다! 템플릿 클래스와 함께 typedef 사용
그 것이다 C++에서 동적 스택 노드의 구현 : 가template <class E>
class Record{
public:
E elem;
Record<E> *prec;
};
typedef Record<E> *P; <- error!
제가 어떤 솔루션을 해결할 수 있는가? 감사
이 코드를 작성했지만 작동하지 않습니다! 템플릿 클래스와 함께 typedef 사용
그 것이다 C++에서 동적 스택 노드의 구현 : 가template <class E>
class Record{
public:
E elem;
Record<E> *prec;
};
typedef Record<E> *P; <- error!
제가 어떤 솔루션을 해결할 수 있는가? 감사
typedef Record<E> *P; <- error!
당신은이 C++ 03과 같은 "템플릿 형식 정의"를 할 수 없습니다. E
을 콘크리트 유형으로 바꿔야합니다. C++ 11에서
, 당신이 그렇게처럼 using
별칭을 사용할 수 있습니다
template <typename E>
using P = Record<E>*;
P<int> p;
P<float> q;
+1은 단순하고 철저한 예제로 매우 잘 표현되었습니다. – qrikko
+1하지만 VC++ 컴파일러는 여전히 템플릿 별명 afaik를 지원하지 않습니다. – Hulk
감사합니다. 이제 작동합니다! – Alastor100
을 당신은 당신이 컴파일러 오류가 의미? 오류가 무엇입니까? – BoBTFish
'E'를 실제 유형으로 바꿔야합니다. 예를 들어'typedef Record * P;' –
juanchopanza
@ juanchopanza .... 왜 대답 부분에 쓰지 않았습니까? – Michael