只是一个代码示例:
template <typename E> class TypeWrapper
{
protected:
template <typename O> void m_add_object()
{
}
};
template <class T> class PyType: public TypeWrapper<T>
{
void call()
{
TypeWrapper<T>::m_add_object<PyType<T> >();
}
};
这是一个大项目的一部分,尽可能小。使用和需要的所有模板。
这段代码总是因为以下原因无法编译:
错误:“>”标记之前的预期主表达式
我试图完全限定所有成员并使用typename关键字。它没有帮助。我认为存在不可见的循环依赖或编译器错误?
我的环境:gcc 4.8.2版(Ubuntu 4.8.2-19ubuntu1);Ubuntu 14.04.1 LTS