Функция шаблона в eMbedded Visual C ++ 4.0 для Windows CE - PullRequest
3 голосов
/ 24 мая 2011

Поддерживает ли 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 : ')'

Есть ли какой-нибудь переключатель компилятора, который мне нужно изменить? Как мне получить это для компиляции?

1 Ответ

3 голосов
/ 24 мая 2011

Нашел ответ здесь .

"Это прекрасно работает, когда функция шаблона не является членом класса. Ну да ладно, я думаю, у меня будет оставить его как глобальную функцию. "

...