繁体   English   中英

具有#define和碰撞的C ++ GNU GCC

[英]C++ GNU GCC with #define out & colliding

我正在使用Code::BlocksC++ GNU GCC并尝试将Visual Studio Project移植到GNU GCC
当我尝试编译时,我陷入了Defines.h文件中的define宏:

#define out &

并且在编译时出现此错误:

error: expected unqualified-id before '=' token

在这行上:

// Open for output.  Default for @c ofstream and fstream.
static const openmode out =     _S_out;

在ios_base.h中

据我所知,该文件是libstd库的一部分。 我可以禁用它吗? 如果是这样,我该怎么做?
我的库不需要任何std c++ ,只需要c库。

有两个主要选项:

  1. 不要使用out来定义宏。
  2. 包括所有标头后,声明宏。

但严重的是,宏名为out变成&是一个很可怕的宏。 这将使很难快速理解代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM