首先,我对 C++ 很陌生。我相信这getline()
不是标准的 C 函数,因此#define _GNU_SOURCE
需要使用它。我现在正在使用 C++,而 g++ 告诉我_GNU_SOURCE
已经定义了:
$ g++ -Wall -Werror parser.cpp
parser.cpp:1:1: error: "_GNU_SOURCE" redefined
<command-line>: error: this is the location of the previous definition
谁能确认这是否是标准的,或者它的定义是否隐藏在我的设置中?我不确定引用的最后一行的含义。
该文件的包含如下,所以大概它是在其中一个或多个中定义的?
#include <iostream>
#include <string>
#include <cctype>
#include <cstdlib>
#include <list>
#include <sstream>
谢谢!