c++ string parsing compiler-errors string-parsing

c++ - Ningún miembro llamado stoi en namespace std



string parsing (3)

En primer lugar, necesita un compilador que admita C ++ 11 y que necesite compilar en "modo C ++ 11" (en algunos casos).

En segundo lugar, si esto es, de hecho, un problema inteligense (y parece que puede ser), entonces podría ser simplemente que su IDE aún no es compatible con C ++ 11.

Estoy probando la función std::stoi que se encuentra en el siguiente enlace: http://en.cppreference.com/w/cpp/string/basic_string/stol
pero obtuve el error:

Ningún miembro llamado stoi en namespace std.

¿Que debería hacer? Por favor asesóreme, gracias.

PD: estoy usando Xcode Ide para hacer mi c ++.

#include <iostream> #include <string> int main() { std::string test = "45"; int myint = std::stoi(test); std::cout << myint << ''/n''; }

Imagen


std::stoi está disponible solo desde C ++ 11. En caso de que no tenga compatibilidad con C ++ 11, esta es la solución C ++ 03 basada en std::istringstream :

std::string test = "45"; std::istringstream is(test); int myInt; if (is >> myInt) std::cout << myint << std::endl;

solo necesitas #include <sstream>


Si puede usar stdlib.h , entonces otra forma de hacerlo funcionar es usar atoi(const char *)

int myint = atoi(test.c_str());