首先,我对C++很陌生。我相信getline()
不是标准的C函数,所以需要#define _GNU_SOURCE
来使用它。现在,我使用C++和g ++告诉我,_GNU_SOURCE
已定义:getline()在C++中 - _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>
谢谢!
感谢您的回复,为我解决了一些问题。我将按照建议的兼容性使用预处理器。 – Ray2k 2009-02-18 01:37:11