Error: 'to_string' was not declared in this scope

di il
3 risposte

Error: 'to_string' was not declared in this scope

Ciao a tutti,
ho il problema in oggetto con la compilazione del mio codice.

#include <iostream>
#include<string>
#include<algorithm>


using namespace std;

void stampa(void *v,int n_ele,char tipo='i')

{
for(int i=0;i<n_ele;i++)
{
switch(tipo)
{
case 'i':
cout<<((int*)v)<<endl;
break;

case 'd':
{
string s = to_string(((double*)v));
replace(s.begin(),s.end(),'.',',');
cout<<((double*)v)<<endl;
break;
}
}
}
}
int main()
{
int *pInt= new int[5] {45,-89,100,3,7};
double *pDouble= new double[5] {3.14,56.0,-5.6,1.9,1.1};
stampa(pDouble,5,'d');

return 0;
}

Utilizzo Code::Blocks 16.01 e ho impostato come compilatore il: have g++ follow the cc++11 ISO C++ language standard[-std=c++11] ma continua a darmi errore.

Qualcuno ha suggerimenti?

Grazie in anticipo

3 Risposte

  • Re: Error: 'to_string' was not declared in this scope

    Il compilatore che si porta dietro quella versione di Codeblocks non è proprio aggiornatissimo.
    Io ho installato il TDM-GCC 5.1.0 insieme a Codeblocks 16.01 e to_string() funziona.
  • Re: Error: 'to_string' was not declared in this scope

    Ciao Shodan,
    scusa sono neofita e nn so come fare ad aggiornare la mia versione del compilatore con quella che riporti tu.

    Puoi aiutarmi?

    Grazie,
    Daniele
  • Re: Error: 'to_string' was not declared in this scope

    Io sono partito da un'installazione pulita, per cui disinstalla totalmente Codeblocks.
    Poi vai qui:
    http://tdm-gcc.tdragon.net
    e scarica la versione che ti serve: 32 o 64 (anche se la 64 sovrebbe comprendere anche la 32).
    Una volta installato il compilatore, scarica solo l'ide di Codeblocks (quello senza compilatore) e lo installi.
    Ti dovrebbe riconoscere in automatico il compilatore e poi sei a posto.
Devi accedere o registrarti per scrivere nel forum
3 risposte