3 / 3 / 3
Регистрация: 16.02.2011
Сообщений: 68
1

Не находит std::to_string

17.03.2013, 17:25. Показов 25767. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Не пойму что не так, выдает ошибку
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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.03.2013, 17:25
Ответы с готовыми решениями:

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

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

To_string не является членом std
Собственно пишу на убунте 16.04 и стоит g++ 5.4.0. Что делать, чтобы пофиксить? Какие команды в...

Что означает std::string to_string( int value )?
Что означает: std::string to_string( int value )

39
Обитатель форума
201 / 184 / 54
Регистрация: 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
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
17.03.2013, 17:31 3
`to_string` is not a member of `std`
0
3 / 3 / 3
Регистрация: 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
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 17:36 5
Если mingw основан на gcc 4.7.1, то std::to_string в нем еще не реализован, в версии на 4.7.2 уже все ок.
Пробуйте эти сборки
0
Неэпический
17869 / 10634 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
17.03.2013, 17:36 6
Цитата Сообщение от Triall Посмотреть сообщение
не помогло... та же ошибка
Это баг и о нем уже давно заявлено.
Если верить словам niXman'a, то он пофикшен в 4.8.x
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 17:38 7
Цитата Сообщение от Croessmah Посмотреть сообщение
Это баг и о нем уже давно заявлено.
сам сталкивался с САБЖем, когда имел mingw на основе 4.7.0. Спросил ув. niXman что за трабл, он объяснил это реализацией данной функции лишь в версии 4.7.2. Скачав его последнюю сборку у меня все заработало.
0
3 / 3 / 3
Регистрация: 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;
}
Миниатюры
Не находит std::to_string  
1
3 / 3 / 3
Регистрация: 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
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
17.03.2013, 18:21 13
Цитата Сообщение от Triall Посмотреть сообщение
У меня нет MinGW, стоит debian
А как компилируешь? С ключом -std=c++11 ?
1
3 / 3 / 3
Регистрация: 16.02.2011
Сообщений: 68
17.03.2013, 18:36  [ТС] 14
Цитата Сообщение от Kastaneda Посмотреть сообщение
А как компилируешь? С ключом -std=c++11 ?
Без ключей компилирую, с етим ключем заработало. Спасибо
0
Higher
1953 / 1219 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
17.03.2013, 18:41 15
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
внимательно посмотри таблицу, полной поддержки С11 лично я не увидел
1) До полной поддержки С++11 не хватает двух пунктов (которые никому не нужны)
2) При чем тут С11?
0
Заблокирован
Автор FAQ
17.03.2013, 20:14 16
diagon, притом что to_string метод из С11.Я не пишу с минжв и таком прочем,а пишу в VC,потому есть ключ нет ключа,я исходил из увиденного в теме и ссылки по свойствам компилятора

Добавлено через 2 минуты
По поводу пункта 1 если нет подержки каждого пункта,то полной поддержки нет,нужны те пункты или не нужны...
0
Форумчанин
Эксперт CЭксперт С++
8215 / 5045 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
17.03.2013, 20:17 17
-=ЮрА=-, C11 - стандарт языка С
0
Заблокирован
Автор FAQ
17.03.2013, 20:35 18
MrGluck, а кто спорит?Его не все компиляторы поддерживают, какие уточнения еще сделать?VC хоть все поняли-вижуал студио?Или еще по слогам написать,что раз уж пишу в студии то с другими средами менее знаком,а потому что они поддерживают предпочитаю по их документации судить.

Добавлено через 3 минуты

Не по теме:

Are there any questions/information exist?

0
silent_1991
21.03.2013, 10:43
  #19

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
MrGluck, а кто спорит?
C и C++ - разные языки. C11 - стандарт языка Pure C. С++0x - последний стандарт языка C++. Вам хотели сказать именно это.

0
-=ЮрА=-
21.03.2013, 17:48     Не находит std::to_string
  #20

Не по теме:

Цитата Сообщение от silent_1991 Посмотреть сообщение
C и C++ - разные языки.
- зачем мне это было говорить?
silent_1991, под С11 я понимал С++11 если уже пошла речь о буквоедстве. Автор темы рассматривал плюсы, ответы приводились в плюсах, я давал ответы в плюсах, ну хорошо если по контексту сложно понять что имелось ввид буду писать С++11. Ксати С++0х как раз носит (верней носил) условный характер - это было черновое название С++11). Итак в своём посте о поддержке компилятора после слов автора темы
Цитата Сообщение от Triall Посмотреть сообщение
http://gcc.gnu.org/gcc-4.7/cxx0x_status.html в 4,7 есть поддержка С++11...
я подразумевал, что возможно данный компилятор gcc-4.7 имеет неполную поддержку плюсового С11( чтобы было понятней имел ввиду абривеатуру С++11).
У меня вопрос к сообществу зачем развивать из этого всего уже четыре поста обсуждения если и так понятно о каком стандарте шла речь?

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.03.2013, 17:48

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

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

Компилятор не находит функцию "to_string"
Я работаю в программе DEV c++ 5.11, и у меня отсутствуют такие функции как to_string, stoi, atoi и...

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

Почему std::string::find не находит подстроку?
Вот: std::string str = &quot;01234567890&quot;; int p = str.find(&quot;23&quot;, 0, 5); std::cout &lt;&lt; p;...

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru