在模板编程中,会有这样一种情景。假设在一个模板类中,想申明模板参数的内嵌类型,代码如下:
template<typename T> struct MyStruct { T::EmbedType value; };
编译器无法推断“EmbedType”:是数据类型。
在申明变量前面添加typename关键字,成功编译,代码如下:
template<typename T> struct MyStruct { typename T::EmbedType value; };