Ключевое слово C++ Builder nullptr Не определено

В C++ Builder (Берлин) подсветка синтаксиса редактора показывает nullptr как зарезервированное слово. Но при компиляции получаю ошибку:

Undefined symbol 'nullptr'

nullptr был добавлен в стандарт C++11, и, насколько мне известно, C++ Builder Berlin поддерживает C++11. Я просматривал параметры компилятора С++, но не могу найти ничего, связанного с выбором стандарта С++ для использования.

nullptr не поддерживается в C++ Builder Berlin, а подсветчик просто глючит? Или я могу где-нибудь включить поддержку С++ 11?


person Max Kielland    schedule 15.04.2018    source источник
comment
Вы уже пробовали это: forums.embarcadero.com/?   -  person Bob__    schedule 16.04.2018
comment
Ах! Мне всегда трудно найти дорогу на сайте Embarcadero. Вместо этого я обычно гуглю или проверяю SO;) Можете ли вы записать шаги, чтобы я мог отметить это как решение, и вы получите своих представителей?   -  person Max Kielland    schedule 16.04.2018
comment
Ну, у меня не установлена ​​эта IDE, поэтому я не могу проверить ни один из этих шагов. Мой ответ не может быть ничем иным, как некоторыми цитатами из этой ссылки. С другой стороны, вы могли опубликовать ответ на свой вопрос, если вам удалось решить проблему.   -  person Bob__    schedule 16.04.2018
comment
Я думал, что понял, что ваша ссылка решила это. Но если вы не можете проверить это самостоятельно и не чувствуете себя комфортно, просто написав ответ без проверки, все в порядке. Я могу написать свою версию за 2 дня (если вы ее не написали).   -  person Max Kielland    schedule 16.04.2018


Ответы (1)


насколько мне известно, C++ Builder Berlin поддерживает C++11.

Точнее, только его компиляторы на основе Clang поддерживают C++11. "классический" 32-разрядный компилятор Windows этого не делает.

При компиляции для 32-разрядной версии Windows вы можете указать в параметрах проекта, использовать ли компилятор Classic или Clang. Согласно документации Embarcadero:

Как использовать компилятор на основе Clang для 32-разрядных проектов Windows :

BCC32C и BCC32X не заменяют BCC32, RAD Studio позволяет выбрать компилятор для каждого вашего проекта. BCC32 – это компилятор C++ по умолчанию для 32-разрядной версии Windows.

Чтобы включить BCC32C или BCC32X для определенного проекта, выберите Project > Options > C++ Compiler и отключите параметр Use 'classic' Borland compiler в разделе Classic Compiler.

IDE теперь будет использовать компилятор Win32 с расширенными возможностями Clang.

person Remy Lebeau    schedule 16.04.2018