Поддерживает ли 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 : ')'
Есть ли какой-нибудь переключатель компилятора, который мне нужно изменить? Как мне получить это для компиляции?