eMbedded Visual C++ 4.0 (SP4) 是否支持模板函数?当我尝试编译可在 Visual C++ 6.0 中正常运行的代码时出现错误。
这是我的模板函数,它可以编译:
template<class NodeType>
NodeType* MyFunction()
{
// ... do stuff
return new NodeType("foo"); // return a new class instance of type NodeType
}
模板函数用法:
MyClass *myOjb = MyFunction<MyClass>(); // this is causing an error
编译错误:
error C2275: 'MyClass' : illegal use of this type as an expression
see declaration of 'MyClass'
error C2059: syntax error : ')'
我需要更改一些编译器开关吗?我如何让它编译?