Поддерживает ли Dev-Cpp 5.11 C++ 11?

Я изо всех сил пытался найти четкий ответ на первой странице Google. У меня проблемы с пониманием термина "языковой стандарт". Я имею в виду, новый стандарт должен быть реализован на программном уровне, верно? Это не просто список обнаруженных вещей, которые теперь могут делать пользователи, верно? Я использую делегирующие конструкторы, получаю предупреждение:

[Предупреждение] делегирующие конструкторы доступны только с -std= C++11 или -std=gnu++11

Хотя кажется, что все работает так, как я хочу. Такое предупреждение критично? Если так, как я могу избавиться от этого?

1 ответ

Решение

Dev-Cpp - это просто IDE (внешний интерфейс) для кодера, а за ним стоит MinGW с GCC 4.9.2 в качестве компилятора *. Поэтому каждый раз, когда вы нажимаете "Выполнить" или "Построить", GCC выполняет грязную работу. GCC по умолчанию использует стандарт C++03, и чтобы использовать более новый, вы должны указать это явно через флаг компилятора -std=c++11, Вы можете изменить это в Tools->Compiler Options->Settings->Code generation->Language standard (-std),

Я не уверен, почему делегирующие конструкторы могли работать без C++11 (возможно, с некоторой функцией GCC), но наверняка вы не сможете использовать библиотеки C++ 11 без -std= C++ 11. Это также избавит от предупреждения.

(* Если вы использовали установщик Dev-C++ по умолчанию.)

Другие вопросы по тегам