C++TypeDef的一个误点!
template<typename protocol>
class Connection;
template<typename protocol, typename defaulthandler>
class ConnectionManager
{
typedef Connection<protocol> conn;
typedef std::list<conn> clist;
typedef std::list<conn>::iterator clistitr;//主要是这里出了问题
}
错误 3 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int d:\libraries\socketlib\connectionmanager.h 36
一下子就呆了 本来不知道如何解决的时候 突然想起了 嵌套的类型定义 需要用typename
结果把代码改成了
template<typename protocol>
class Connection;
template<typename protocol, typename defaulthandler>
class ConnectionManager
{
typedef Connection<protocol> conn;
typedef std::list<conn> clist;
typedef typename std::list<conn>::iterator clistitr;//主要是这里出了问题
}
问题搞定 呵呵 郁闷死了 害我忙活了半天 平常不用嵌套模板 哈哈 所以就忽略了这个关键字 郁闷哟!!