5
以下代碼不能編譯。 我收到一條錯誤消息:錯誤C2039:'Asub':不是'C'的成員使用CRTP和typedef的「繼承」類型
有人可以幫我理解嗎?
試過VS2008 & 2010編譯器。
template <class T>
class B
{
typedef int Asub;
public:
void DoSomething(typename T::Asub it)
{
}
};
class C : public B<C>
{
public:
typedef int Asub;
};
class A
{
public:
typedef int Asub;
};
int _tmain(int argc, _TCHAR* argv[])
{
C theThing;
theThing.DoSomething(C::Asub());
return 0;
}
你應該始終* * p收集編譯錯誤的行號。 – abelenky 2010-05-01 05:12:47
這個例子中的struct A是什麼? – AlwaysLearning 2016-09-28 10:14:34