템플릿 상속을 사용하려고하면 이상한 오류가 발생합니다. 이 내 코드입니다 :템플릿 상속 및 기본 멤버 변수
template <class T> class A {
public:
int a {2};
A(){};
};
template <class T> class B : public A<T> {
public:
B(): A<T>() {};
void test(){ std::cout << "testing... " << a << std::endl; };
};
그리고 이것은 오류입니다 :
error: use of undeclared identifier 'a'; did you mean 'std::uniform_int_distribution<long>::a'?
void test(){ std::cout << "testing... " << a << std::endl; }
그리고 경우에는 영향을 줄 수있는 뭔가 내가이 플래그를 사용
-Wall -g -std=c++11
정말하지 않습니다를 템플릿이없는 순수 클래스와 동일한 코드가 제대로 작동하기 때문에 잘못된 점을 알아야합니다.
'무효 시험() {표준 : : cout과 << "테스트 ..."<< A :: << std :: endl; }; ' –
Rerito