型别是什么意思
template <class T>class A
{
typename T::SubType *ptr;
};
typename指出SubType是class T中定义的一个型别,因此ptr
是一个指向T::SubType型别的指针。
typename的用法,还有这个型别的意思不懂。
程序代码:// Note:Your choice is C++ IDE
#include <iostream>
using namespace std;
template <class T>
class A
{
public:
typename T::SubType *ptr;
};
class T
{
public:
typedef char SubType;
};
int main()
{
int n = 68;
A<int> obj;
obj.ptr = reinterpret_cast<char *> (&n);
cout<<*(obj.ptr)<<endl;
return 0;
}刚开始我没写T的定义,编译通过了,是因为main函数也写动容。后来自己尝试写了个例子,清晰了!