Компилятор С++ не распознает std:: stringstream:: swap
Я пытаюсь скомпилировать следующий код с g++ (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7):
#include <sstream>
using namespace std;
int main(int argc, char ** argv)
{
auto x = 1;
stringstream s1, s2;
s1.swap(s2);
}
Я получаю следующую ошибку:
g++ -g -std=c++0x -c main.cpp
main.cpp: In function ‘int main(int, char**)’:
main.cpp:8:5: error: ‘std::stringstream’ has no member named ‘swap’
s1.swap(s2);
^
make: *** [main.o] Error 1
Согласно эта ссылка, она должна работать. Использование разных флагов -std (gnu ++ 11, С++ 0x и т.д.) Не помогло. Что мне не хватает?
Ответы
Ответ 1
От статуса реализации GCC:
Раздел: 27.5
Описание: базовые классы Iostreams
Поддержка: Partial
Комментарии
- Отсутствуют операции
move
и swap
на basic_ios
. - Отсутствует
io_errc
и iostream_category
. -
ios_base::failure
не выводится из system_error
. - Отсутствует
ios_base::hexfloat
.
подробнее здесь