我正在使用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
:
答案 0 :(得分:2)
整数文字的二进制表示法是new feature in C++14。但是,目前没有C ++ Builder版本具有C ++ 14编译器。
在XE4中,Win32 compiler和OSX compiler根本不支持C ++ 11(在10.0西雅图中添加了32位C ++ 11编译器)。但Win64 compiler支持C ++ 11。
当前的C ++ Builder编译器仅支持十进制,八进制和十六进制。有关详细信息,请参阅Embarcadero的文档:Integer Constants
答案 1 :(得分:1)
如果你想编译它,你需要一个带有C ++ 11编译器的更新版本的C ++ Builder。