摘要:
如果你有一个合适的名字来指定一个类型,并且这个名字依赖于模板的参数,请使用关键字 typename。在模板的声明和定义中只使用关键字typename。下面的例子说明使用关键字typename。1 template<class T> class A2 {3 T::x(y);4 typedef char C;5 A::C d;6 }表达式 T::x(y) 是含糊不清的。它可能是一个调用非本地参数值 y 的函数 x() ,也可能是一个声明类型为 T::x 的变量 y 。C++将把这句表达式理解为一个函数的调用。为了让编译器把这句表达式理解为一个类型,你应该在表达式的开头添加关... 阅读全文
posted @ 2012-03-09 22:29 一年级的小学生 阅读(388) 评论(0) 推荐(0) 编辑