Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 49, средняя оценка - 4.61
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
#1

не находит std::to_string - C++

17.03.2013, 17:25. Просмотров 7793. Ответов 21
Метки нет (Все метки)

Не пойму что не так, выдает ошибку
error: 'to_string' is not a member of 'std'
Версия gcc 4.7.2-5

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <string>
 
int main(void)
{
    for (int i = 999; i > 100; i--)
    {
        for (int j = 999; j > 100; j--)
        {
           int tmp = i*j;
           std::string str = std::to_string(tmp);
        }
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 17:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос не находит std::to_string (C++):

Не работает std::to_string(); - C++
Не работает std::to_string(); -std=c++11 gcc --version =&gt; gcc 5.3.0 Как заставить работать?

'to_string' is not a member of 'std' - C++
результат должен быть таким : &quot;110100100010000100000100000(и т.д.)&quot; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; ...

Error C2668: std::to_string: неоднозначный вызов перегруженной функции - C++
вот код #include &quot;stdafx.h&quot; #include &lt;Windows.h&gt; #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; int...

Ошибка в программе error C2668: std::to_string: неоднозначный вызов перегруженной функции - C++
FILE *f1; f1 = fopen(&quot;matrix.txt&quot;, &quot;w&quot;); for (unsigned int i = 0; i &lt; matrix.size(); i++) { vector&lt;double&gt; s =...

Компилятор не находит std::ref() - C++
Всем привет и с новым годом. Столкнулся со странным. Сейчас сижу разбираюсь с потоками, а точнее пытаюсь передать в поток...

Не воспринимает ни std::cout, ни std::cin. Вобщем ничего из std. Также не понимает iostream - C++
Здравствуйте! Я хотел начать изучать язык C++. Набрал литературы. Установил Microsoft Visual C++ 2005 Express Edition. Образ диска...

21
Afflicted
Обитатель форума
199 / 182 / 8
Регистрация: 28.10.2012
Сообщений: 543
17.03.2013, 17:28 #2
Цитата Сообщение от Triall Посмотреть сообщение
std::to_string
не принимает int

сделайте

C++
1
std::to_string(static_cast<long long>(tmp));
или
C++
1
long long tmp = i*j;
0
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,620
Записей в блоге: 3
Завершенные тесты: 1
17.03.2013, 17:31 #3
`to_string` is not a member of `std`
0
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 17:33  [ТС] #4
Цитата Сообщение от Afflicted Посмотреть сообщение
не принимает int
Почему же не принимает ? to_string


Цитата Сообщение от Afflicted Посмотреть сообщение
сделайте
Код C++
1
std::to_string(static_cast<long long>(tmp));
или
Код C++
1
long long tmp = i*j;
не помогло... та же ошибка
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
17.03.2013, 17:36 #5
Если mingw основан на gcc 4.7.1, то std::to_string в нем еще не реализован, в версии на 4.7.2 уже все ок.
Пробуйте эти сборки
0
Croessmah
Эксперт CЭксперт С++
13415 / 7566 / 855
Регистрация: 27.09.2012
Сообщений: 18,620
Записей в блоге: 3
Завершенные тесты: 1
17.03.2013, 17:36 #6
Цитата Сообщение от Triall Посмотреть сообщение
не помогло... та же ошибка
Это баг и о нем уже давно заявлено.
Если верить словам niXman'a, то он пофикшен в 4.8.x
0
MrGluck
Модератор
Эксперт CЭксперт С++
7278 / 4439 / 650
Регистрация: 29.11.2010
Сообщений: 12,017
17.03.2013, 17:38 #7
Цитата Сообщение от Croessmah Посмотреть сообщение
Это баг и о нем уже давно заявлено.
сам сталкивался с САБЖем, когда имел mingw на основе 4.7.0. Спросил ув. niXman что за трабл, он объяснил это реализацией данной функции лишь в версии 4.7.2. Скачав его последнюю сборку у меня все заработало.
0
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 17:40  [ТС] #8
Цитата Сообщение от Croessmah Посмотреть сообщение
`to_string` is not a member of `std`
У меня нет MinGW, стоит debian, по ссылке, есть какие то патчи для MinGW, но я не могу найти куда бы можно было их всунуть...
0
-=ЮрА=-
Заблокирован
Автор FAQ
17.03.2013, 17:50 #9
Triall, std::to_string это фича для С11, как по мне сложность написать для себя самому данный метод нулевая
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
 
string to_string(int param)
{
    string str = "";
    for(str = ""; param ; param /= 10)
        str += (char)('0' + param % 10);
    reverse(str.begin(), str.end());
    return str;
}
 
int main()
{
    string str = to_string(1024);
    cout<<str<<endl;
    return 0;
}
http://codepad.org/Y5Gj0tUp
Output:
1024
0
-=ЮрА=-
Заблокирован
Автор FAQ
17.03.2013, 17:54 #10
Можно и с темплэйтом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <string>
#include <sstream>
#include <iostream>
#include <algorithm>
using namespace std;
 
template <class T>
string to_string(T param)
{
    string str = "";
    stringstream ss;
    ss<<param;
    getline(ss, str);
    return str;
}
 
int main()
{
    string str = to_string(1024.26);
    cout<<str<<endl;
    return 0;
}
1
Миниатюры
не находит std::to_string  
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 17:55  [ТС] #11
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
std::to_string это фича для С11
http://gcc.gnu.org/gcc-4.7/cxx0x_status.html в 4,7 есть поддержка С++11...
Написать то можна, но вопрос почему не работает уже готовое.
0
-=ЮрА=-
Заблокирован
Автор FAQ
17.03.2013, 18:09 #12
Цитата Сообщение от Triall Посмотреть сообщение
http://gcc.gnu.org/gcc-4.7/cxx0x_status.html в 4,7 есть поддержка С++11...
Написать то можна, но вопрос почему не работает уже готовое.
- внимательно посмотри таблицу, полной поддержки С11 лично я не увидел
0
Kastaneda
Форумчанин
Эксперт С++
4655 / 2863 / 228
Регистрация: 12.12.2009
Сообщений: 7,274
Записей в блоге: 2
Завершенные тесты: 1
17.03.2013, 18:21 #13
Цитата Сообщение от Triall Посмотреть сообщение
У меня нет MinGW, стоит debian
А как компилируешь? С ключом -std=c++11 ?
1
Triall
3 / 3 / 1
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 18:36  [ТС] #14
Цитата Сообщение от Kastaneda Посмотреть сообщение
А как компилируешь? С ключом -std=c++11 ?
Без ключей компилирую, с етим ключем заработало. Спасибо
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.03.2013, 18:41 #15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
внимательно посмотри таблицу, полной поддержки С11 лично я не увидел
1) До полной поддержки С++11 не хватает двух пунктов (которые никому не нужны)
2) При чем тут С11?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 18:41
Привет! Вот еще темы с ответами:

ошибка error: cannot convert 'std::string {aka std::basic_string<char>}' to 'std::string* {aka std::basic_stri - C++
на вод поступают 2 строки типа string. определить количество вхождений строки 2 в строку 1 ошибка error: cannot convert 'std::string {aka...

STL std::set, std::pair, std::make_pair - C++
Я не знаю как описать тему в двух словах, поэтому не обращайте внимание на название темы. Собственно перейдем к нашим баранам: есть...

На основе исходного std::vector<std::string> содержащего числа, создать std::vector<int> с этими же числами - C++
подскажите есть вот такая задача. Есть список . Создать второй список, в котором будут все эти же числа, но не в виде строк, а в виде...

To_string эквивалент - C++
http://www.cplusplus.com/reference/string/to_string/ это из С++ 11. У меня вс 2010, очевидно стандарт ниже. Из этого кода: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
17.03.2013, 18:41
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru