Visual Studio C++为啥不编译0b00000001 [重复]

Posted

技术标签:

【中文标题】Visual Studio C++为啥不编译0b00000001 [重复]【英文标题】:Visual studio c++ why don't 0b00000001 compile [duplicate]Visual Studio C++为什么不编译0b00000001 [重复] 【发布时间】:2014-03-17 17:03:44 【问题描述】:

我正在尝试移植我最初为 Linux 制作的一个小程序,现在唯一给我一个错误的是任何像 0b01010101 这样写的二进制数。

我找不到任何关于为什么这在 Windows 上不起作用或如何让它在 Windows 上工作的信息。

这不是 c++ 的标准吗?

【问题讨论】:

不,这不是标准的。这是一个 GCC 扩展。 它是 C++14 的一部分,MSVC 尚未实现该部分。 FWIW,Clang 在 Windows 和 Linux 上工作,并且确实使用 -std=c++1y 实现了此功能。 这将是 C++14 中的一个 C++ 特性。 查看***.com/questions/699781/c-binary-constant-literal,了解在旧编译器中使用小型二进制常量的方法。 【参考方案1】:

目前,这行不通。

这将是C++14 的新功能。 C++14 中的数字文字可以以二进制形式指定。语法使用前缀0b0B

【讨论】:

Visual C++ 2015 Preview 支持 C++14 二进制字面量:visualstudio.com/news/vs2015-preview-vs#C++

以上是关于Visual Studio C++为啥不编译0b00000001 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2010在编译c++时为啥有错误也没有下划波浪线?

为啥在 Visual Studio 中编译 C++ 项目时出现致命错误“LNK1104:无法打开文件 'cryptlib.lib'?

为啥我不能在 Visual Studio 中禁用预编译头文件?

如何只用visual c++编译器而不安装visual studio

为啥 g++ 和 MS Visual Studio C++ 执行以下代码的方式不同?

如何只用visual c++编译器而不安装visual studio