2015-09-06 3 views
-2

Я пытаюсь скомпилировать мой старый проект Qt на другой системе: Windows XP, Qt5, MSVC 2010.Qt5 MSVC 2010 не признают авто (C++ 11)

я использовал C++ 11 авто в моем проекте есть строка CONFIG + = C++ 11 в файле pro.

for(auto e : mapTerm->keys()) 
{ 
    mapTerm->insert(e, attrib.value(e).toString()); 
} 

Теперь он не может распознать авто цикла и дает мне синтаксические ошибки.

+0

MSVC 2010 является старым для C++ 11. –

+1

Что такое автопилот? Некоторый код был бы хорош ... – RedX

+0

Вы можете использовать более поздние версии Visual C++ (включая Visual C++ 2015) в Windows XP, выбрав набор инструментов, совместимый с XP, в настройках проекта. В качестве альтернативы вы можете использовать цикл нестандартного диапазона Visual C++ 2010 (синтаксис немного отличается, как я помню), но я не думаю, что была какая-либо альтернатива 'auto'. Таким образом, вам нужно будет указать тип или использовать альтернативную версию Visual ++ для «decltype». –

ответ

0

Вам нужно убедиться, что вы используете компилятор Cperper C++ и что он является C++ 11 +.

Если вы используете msvc и используете правильную версию, тогда это должна быть встроенная функция.

Смежные вопросы