C ++ Builder>二进制数0b1导致错误E2141

时间:2016-08-17 09:54:15

标签: c++builder c++builder-xe4

我正在使用C ++ Builder XE4。

我正在尝试在代码中使用二进制数字,例如0b1

以下是我尝试过的代码:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    int num = 0b11;
}

以上导致编译器错误:

  

Unit1.cpp(19):E2141声明语法错误

C ++ Builder是否支持这样的二进制计算?

我确认0x11在C ++ Builder中有效。

我还确认可以使用C ++在IDEOne中使用0b11

http://ideone.com/oy4aIZ

2 个答案:

答案 0 :(得分:2)

整数文字的二进制表示法是new feature in C++14。但是,目前没有C ++ Builder版本具有C ++ 14编译器。

在XE4中,Win32 compilerOSX compiler根本不支持C ++ 11(在10.0西雅图中添加了32位C ++ 11编译器)。但Win64 compiler支持C ++ 11。

当前的C ++ Builder编译器仅支持十进制,八进制和十六进制。有关详细信息,请参阅Embarcadero的文档:Integer Constants

答案 1 :(得分:1)

如果你想编译它,你需要一个带有C ++ 11编译器的更新版本的C ++ Builder。