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());