LINUX.ORG.RU

to_string was not declared in this scope

 , ,


0

1

Почему возникает эта ошибка? Я ведь указал в коде #include <string>

Вот код:

#include <iostream>
#include <string>

using namespace std;

int main () {

	string s;

	s = to_string(49);

	cout << s << "\n";

	return 0;
}

А вот так он ругается:

test.cpp: In function ‘int main()’:
test.cpp:10:18: error: ‘to_string’ was not declared in this scope
  s = to_string(49);
                  ^

Система: Ubuntu 15.04 amd64

Версия компилятора: g++ (Ubuntu 4.9.2-10ubuntu13) 4.9.2


Ответ на: комментарий от loskiq

Эту информацию можно найти в документации к компилятору.

i-rinat ★★★★★
()

На gcc 4.8 to_string по непонятной причине не было в принципе, даже с -std=c++11. Не знаю как в 4.9.

slovazap ★★★★★
()
Ответ на: комментарий от SystemD-hater

Ого. Почему интересно из коробки не поставляют свежую версию в Ubuntu...

Спасибо, сейчас поставлю

loskiq
() автор топика
Ответ на: комментарий от loskiq

Ого. Почему интересно из коробки не поставляют свежую версию в Ubuntu...

Версия компилятора в Ubuntu - актуальная на момент выпуска конкретной версии. Что логично. У меня сейчас:

gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) 

А если тебе для старого релиза нужен новый компилятор, то есть ppa. Вот, например, такой:

https://launchpad.net/~ubuntu-toolchain-r/ archive/ubuntu/test

Правда там gcc 5.1, но зато есть поддержка даже Ubuntu 10.04.

anonymous
()
Ответ на: комментарий от SystemD-hater

Спасибо, у меня clang/libc++ и проблем с поддержкой актуальных стандартов нет.

slovazap ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.