重複の可能性:
CRTP と typedef を使用した「継承された」型
template<typename T>
struct A {
typename T::Sub s;
};
struct B : A<B> {
struct Sub {};
};
Clang は次のエラーを報告しています:
todo.cc:3:15: error: no type named 'Sub' in 'B'
typename T::Sub s;
~~~~~~~~~~~~^~~
todo.cc:6:12: note: in instantiation of template class 'A<B>' requested here
struct B : A<B> {
^
どうすればこれを機能させることができますか?