假设类Data
具有本地类模板Element<i>
,以下代码有编译错误。代码看似简单,但出了什么问题?
template<unsigned i, class Data>
class A
{
public:
typedef typename Data::Element<i> ElementTy; // compilation error: token error
};
答案 0 :(得分:1)
您需要template
关键字:
typedef typename Data::template Element<i> ElementTy;
这告诉编译器以下名称是模板。