C++Builder > 二进制数 0b1 导致错误 E2141
C++Builder > binary number 0b1 causes error E2141
我正在使用 C++ Builder XE4。
我正在尝试在我的代码中使用二进制数,例如 0b1
。
以下是我试过的代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int num = 0b11;
}
以上导致编译错误:
Unit1.cpp(19): E2141 Declaration syntax error
C++Builder 支持这样的二进制计数吗?
我确认 0x11
在 C++Builder 中工作。
我还确认了 0b11
可以在使用 C++ 的 IDEOne 中使用:
如果你想编译它,你需要一个带有 C++11 编译器的更新版本的 C++ Builder。
整数文字的二进制表示法是 new feature in C++14。但是,目前没有 C++Builder 版本具有 C++14 编译器。
不过在 XE4 中,Win32 compiler and OSX compiler do not support C++11 at all (a 32bit C++11 compiler was added in 10.0 Seattle). The Win64 compiler 支持 C++11。
目前的C++Builder编译器只支持十进制、八进制和十六进制。有关详细信息,请参阅 Embarcadero 的文档:Integer Constants
我正在使用 C++ Builder XE4。
我正在尝试在我的代码中使用二进制数,例如 0b1
。
以下是我试过的代码:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int num = 0b11;
}
以上导致编译错误:
Unit1.cpp(19): E2141 Declaration syntax error
C++Builder 支持这样的二进制计数吗?
我确认 0x11
在 C++Builder 中工作。
我还确认了 0b11
可以在使用 C++ 的 IDEOne 中使用:
如果你想编译它,你需要一个带有 C++11 编译器的更新版本的 C++ Builder。
整数文字的二进制表示法是 new feature in C++14。但是,目前没有 C++Builder 版本具有 C++14 编译器。
不过在 XE4 中,Win32 compiler and OSX compiler do not support C++11 at all (a 32bit C++11 compiler was added in 10.0 Seattle). The Win64 compiler 支持 C++11。
目前的C++Builder编译器只支持十进制、八进制和十六进制。有关详细信息,请参阅 Embarcadero 的文档:Integer Constants