invalid use of incomplete type
问题 I\'m trying to use a typedef from a subclass in my project, I\'ve isolated my problem in the example below. Does anyone know where I\'m going wrong? template<typename Subclass> class A { public: //Why doesn\'t it like this? void action(typename Subclass::mytype var) { (static_cast<Subclass*>(this))->do_action(var); } }; class B : public A<B> { public: typedef int mytype; B() {} void do_action(mytype var) { // Do stuff } }; int main(int argc, char** argv) { B myInstance; return 0; } This is