还是模板继承有关问题(和前一帖不同)

还是模板继承问题(和前一帖不同)#include stdio.htypedef struct tagMyData{public:int myinttagMyData

还是模板继承问题(和前一帖不同)

#include <stdio.h>


typedef struct tagMyData
{
public:
int myint;

tagMyData()
{
myint= 10; 
}
}TMyData;



template<typename CDATA = TMyData>
class CTest
{
public:
virtual void Print()
{
printf("%d\n", xx.myint);
}
int yy;
CDATA xx;
};

template<typename CDATA = TMyData>
class CTest2: public CTest<CDATA>
{
public:
void Print()
{
printf("CTest2::%d\n", yy);
}
};


#include "tst.h"


//CTest2<TMyData> g_test;
//CTest<tagMyData> g_test;
int main()
{
//g_test.Print();
return 0;
}




In file included from tst.cpp:2:
tst.h: In member function ‘void CTest2<CDATA>::Print()’:
tst.h:35: 错误:‘yy’在此作用域中尚未声明



我还没有定义变量呢,g++怎么就报错???
[解决办法]
原因跟你前一贴相同。