|
template<typename T>
class Base {
public:
Base(int);
class Inner {
public:
T b;
};
int data;
};
일단 문제없이 컴파일은 되더군요. 그렇지만 왜 이렇게 되는지 궁금합니다.
Base템플릿클래스가 위와같이 선언되어있구요. 내부클래스는 Base템플릿클래스를 가지고 있습니다.
여기서 T의 형은 여러가지가 될 수 있으므로 Inner클래스도 템플릿으로 선언되어야 한다고 생각되는데요.
문법오류가 없는 건 왜인가요?
|