Problema funzione stoi

di Anonimizzato16614 il
8 risposte
Salve a tutti.
Ho creato un piccolo programmino per la somma di due numeri presi in input come stringa, successivamente convertirli in due numeri interi per poi sommarli.
La conversione la vorrei fare con la funzione stoi ma quando compilo mi da errore e non capisco il motivo, poichè ho scelto C++11 nelle opzioni del compilatore in codeblocks

Ecco il programmino
#include <iostream>
#include <string>

using namespace std;

int main()
{
    string num1="";
    string num2="";
    int somma = 0;
    int a,b;


    cout << "***Somma di due numeri stringa***\n\n" << endl;

    //input dei due numeri
    cout<<"Digitare il primo numero da sommare: ";
    cin>>num1;
    cout<<"Digitare il secondo numero da sommare: ";
    cin>>num2;

     a=stoi(num1); //conversione in intero
	 b = stoi(num2); //conversione in intero
	 
    somma = a + b; //somma dei due numeri

    cout<<"Il risultato e': "<<somma<<endl;


    return 0;
}
Grazie in anticipo se qualcuno mi saprà aiutare

8 Risposte

  • Ma quale errore di compilazione ottieni?
  • Ecco il messaggio di errore
    ||=== Build: Debug in somma di due numeri stringa (compiler: GNU GCC Compiler) ===|
    C:\Users\Federico Coppola\Desktop\Programmazione in C++ youtube\somma di due numeri stringa\main.cpp||In function 'int main()':|
    C:\Users\Federico Coppola\Desktop\Programmazione in C++ youtube\somma di due numeri stringa\main.cpp|26|error: 'stoi' was not declared in this scope|
    ||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
    
  • Secondo te da cosa puo dipendere? cosa significa esattamente quell errore?
  • Credo che non riconosca la funzione ma non capisco il motivo in quanto le librerie sono quelle corrette e ho scelto il C++11 nelle impostazioni
  • Se usi codeblocks e mingw su windows, è un bug noto di mingw (la funzione non è proprio implementata).
  • Come posso risolvere allora?
  • ... usi gcc o clang, ad esempio
  • Grazie per il consiglio..
    Ovviamente posso cambiare utilizzando sempre codeblocks vero?
Devi accedere o registrarti per scrivere nel forum
8 risposte