我有一个模板类class Map<typename Line, typename itype, typename ipos>
,我正试图从Line
的成员调用类Map
的模板成员:
template<class Line, typename itype, int ipos>
class Map
{
public:
itype getIndex(Line &line)
{
return line.get<ipos>();
}
};
我得到了g ++错误:
错误:')'令牌
之前的预期主要表达式return line.get&lt; ipos&gt; ();
在VS12下编译好; g ++版本是5.1。
我认为函数内部直到实例化才被解析,显然我错了。我怎样才能解决这个错误?
也许我受VC ++的“无论编译是否正确”风格的影响......