Dev-Cpp 5.11 поддерживает C ++ 11? - PullRequest
0 голосов
/ 07 мая 2018

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

[Предупреждение] делегирование конструкторов доступно только с -std = c ++ 11 или -std = gnu ++ 11

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

1 Ответ

0 голосов
/ 07 мая 2018

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 ++ по умолчанию.)

...