C++難しい><

このコードがコンパイル通らない理由がわからない…

template <class T>
class Test{
public:
typename T::param_type hige;
};
class hoge: public Test<hoge>{
public:
typedef int param_type;
};
int main(){
hoge x;
x.hige=0;
}

“C++難しい><” への1件の返信

  1. 自己解決….
    hogeの定義時にTest<hoge>をインスタンス化するけど,その中のT::param_typeをインスタンス化するときにhogeはまだできてないからparam_typeなにそれ?ってなってるわけか.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です