C++Builder > двоичное число 0b1 вызывает ошибку E2141
Я использую C++ Builder XE4.
Я пытаюсь использовать двоичное число, такое как 0b1
в моем коде.
Ниже приведен код, который я попробовал:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int num = 0b11;
}
Вышеуказанное вызывает ошибку компилятора:
Unit1.cpp (19): E2141 Ошибка синтаксиса объявления
Поддерживает ли C++ Builder двоичную нумерацию следующим образом?
Я подтвердил, что 0x11
работает в C++Builder.
Я также подтвердил, что 0b11
можно использовать в IDEOne с использованием C++:
2 ответа
Двоичная запись целочисленных литералов - это новая функция в C++14. Однако в настоящее время ни одна версия C++Builder не имеет компилятора C++14.
В XE4 компилятор Win32 и компилятор OSX вообще не поддерживают C++ 11 (32-разрядный компилятор C++ 11 был добавлен в 10.0 Seattle). Хотя компилятор Win64 поддерживает C++ 11.
Текущие компиляторы C++Builder поддерживают только десятичные, восьмеричные и шестнадцатеричные числа. Подробности смотрите в документации Embarcadero: целочисленные константы
Если вы хотите скомпилировать это, вам понадобится более новая версия C++ Builder с компилятором C++11.