首先,我對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