一、代码
#include <iostream>
using namespace std;
//使用template消除歧义
class Array
{
public:
template <typename T>
class InArray
{
public:
typedef T ElemT;
};
};
template <typename T>
void output(T& arr)
{
//
//T::InArray<int>::ElemT num;
typename T::template InArray<int>::ElemT num;
num = 5;
cout<<"num is "<<num<<endl;
}
int main(int argc, char*argv[])
{
Array arr;
output(arr);
return 0;
}
二、输出结果