gpt4 book ai didi

c++ - 是否定义了宏 X?

转载 作者:可可西里 更新时间:2023-11-01 18:29:07 25 4
gpt4 key购买 nike

我尝试编译 the code使用选项 C++14:

#define X static_cast<double>(2)
#include <algorithm>
// if you change the two lines, no error occurs

int main()
{
return 0;
}

但是我在 X 之后得到错误:

error: expected ',' or '...'

我没有收到选项 C++98 的错误。使用我的 gcc 版本 4.8.4,我没有收到错误,但使用 5.4.0 时我收到错误。这是一个错误吗?我做错了什么吗?

最佳答案

我在本地安装 g++ 5.4.0 时遇到同样的错误。我查看了 g++ -E 输出,错误似乎追溯到/usr/lib/gcc/x86_64-linux-gnu/5/include/ia32intrin.h 第 252 和 254 行:

/* Write flags register */
extern __inline void
__attribute__((__gnu_inline__, __always_inline__, __artificial__))
__writeeflags (unsigned long long X) // 252
{
__builtin_ia32_writeeflags_u64 (X); // 254
}

这可以被认为是编译器捆绑库中的错误,因为非保留的 #define 不应该与它们冲突。 (同一 header 中的其他函数使用参数 __X。)

关于c++ - <algorithm> 是否定义了宏 X?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44217701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com