型别是什么意思
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函数也写动容。后来自己尝试写了个例子,清晰了!