Мой компилятор C ++ не компилирует оператор "if", "while" и "for" с объявлениями переменных в нем - PullRequest
0 голосов
/ 16 мая 2019

В настоящее время я изучаю C ++ 17 из книги «C ++ 17 от новичка до профессионала».В части контрольных операторов книги мне сказали, что можно объявить переменные, которые будут использоваться в операторе if, внутри круглых скобок оператора if, то есть что-то вроде

if(int a {2}, int b {2}; a<b) {cout << a << endl;}

, когда я попробовал этоиспользуя Code :: Blocks, он сказал мне, что ожидает ')' перед ';'маркер.Однако в книге ничего такого не было.

В VisualStudio мне сообщалось

«языковая функция» для операторов init, если для / switch «требуется флаг компилятора проекта C ++»/ std: C ++ 17 '**

В частности, я пытался запустить приведенный ниже код.

char input;
cin >> input;
if (auto lower{ static_cast<char>(std::tolower(input)) }; lower >= 'a' && lower <= 'z') {
 std::cout << "You've entered the letter '" << lower << '\'' << std::endl;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...