为什么g ++会抱怨?

时间:2018-11-10 00:05:40

标签: c++ g++

有人可以解释这个现象吗?

#include <iostream>
int main() {}

编译它,得到:

g++ main.cpp -Dn=1
<command-line>:0:3: error: expected unqualified-id before numeric constant

这是完整的video。我想知道这些储备物的完整清单,以及它们是什么。我的环境是cygwin

g++ --version
g++ (GCC) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

1 个答案:

答案 0 :(得分:7)

-Dn=1n定义为包含iostream之前的宏,这意味着它将niostream的每次出现重新定义为1,即打破很多东西。

要解决此问题,请选择其他宏名称,或在包含之后将#define移至文件内部。