Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++11] error: 'to_string' is not a member of 'std'

Ostatnio zmodyfikowano 2013-11-11 13:25
Autor Wiadomość
oval
Temat założony przez niniejszego użytkownika
[C++11] error: 'to_string' is not a member of 'std'
» 2013-11-11 11:58:34
Witam,
Próbuję przekonwertować zmienne int na string i wyczytałem w internetach, że w C11 można to zrobić za pomocą std::to_string. Problem w tym, że to polecenie skutkuje u mnie errorem: 'to_string' is not a member of 'std'.
Z tego co udało mi się znaleźć na forach wynika, że mam nieaktualny kompilator... i tu pojawia się pytanie: jak go zaktualizować? Korzystam z Code::Blocks i wbudowanego MinGW. Ma on "jakiś tam" installation manager, ale nie mam pojęcia co w nim oznaczyć do aktualizacji. A może jakoś inaczej powinno się aktualizować kompilator ?
P-96005
kubek3898
» 2013-11-11 12:14:09
W opcjach kompilatora jest możliwość kompilowania z C++11, sam nie dawno ją uruchamiałem. Dokładnie to chyba będzie Settings -> Compiler.

A int na string możesz też zamienić używając strumieni.
P-96007
Buby
» 2013-11-11 12:22:30
Sam możesz napisać sobie taką funkcję, a nawet o tym nie wiesz :P 
Zapoznam Cię teraz ze strumieniem stringstream.  
Można zapisać do niego dane jak przy strumieniu cout,
a potem zapisac go do stringa.

C/C++
#include <iostream>
#include <string>
#include <sstream>

int main()
{
    int liczba = 25; // Zmienna liczbowa.
    std::stringstream strumien; // Zmienna typu strumien.
    std::string wyraz; // Zmienna typu wyraz.
   
    strumien << "Liczba ma wartosc " << liczba; /*! Wrzucamy dane do strumienia. !*/
   
    wyraz = strumien.str(); /*!  Zapisujemy strumien do stringa. !*/
   
    std::cout << wyraz; // Obserwujemy wynik naszej pracy :)
   
    return 0;
}
P-96010
pekfos
» 2013-11-11 12:26:38
wyczytałem w internetach, że w C11 można to zrobić za pomocą std::to_string
W C++11, a nie C11.
P-96011
oval
Temat założony przez niniejszego użytkownika
» 2013-11-11 12:30:44
Dzięki za odpowiedzi ;)
P-96012
DejaVu
» 2013-11-11 12:35:01
@Buby: nie pisze się narzędzi od nowa tylko dlatego, że nie potrafi włączyć się opcji kompilatora. Są narzędzia gotowe, więc należy z nich korzystać.

@oval: Włącz sobie w opcjach kompilacji wsparcie dla C++11.
  • Code::Blocks
  • Settings
  • Compiler
  • Zakładka Compiler Settings
  • Podzakładka Compliler Flags
  • Checkbox na liście: 'Have g++ follow the C++11 ISO C++ language standard [-std=c++11]'
P-96014
oval
Temat założony przez niniejszego użytkownika
» 2013-11-11 12:48:09
Nie mam takiej opcji ;(
U mnie wygląda to tak jak na zdjęciu pod linkiem:

http://imageshack.com/a/img30/9171/8oha.jpg

P-96018
MrPoxipol
» 2013-11-11 12:53:07
Poszukaj dokładnie. Musi być. No chyba, że masz taki stary kompilator (i C::B).
P-96020
« 1 » 2
  Strona 1 z 2 Następna strona