Intenté realizar un programa con la función to_string() pero no me funcionó, y me lanza un error en el compilador. <code>#include &lt;ios...

Matías Arriola

Matías Arriola

Pregunta
studenthace 4 años

Intenté realizar un programa con la función to_string() pero no me funcionó, y me lanza un error en el compilador.

#include <iostream> #include <string> using namespace std; int main() { int num = 10; string str = to_string(num); cout << str; }

Salida:

String.cpp: In function ‘int main()’:

String.cpp:8:30: error: ‘to_string’ was not declared in this scope

string str = to_string(10);

Alguien me podría explicar a qué se debe esto?

5 respuestas
para escribir tu comentario
    Diana Martinez Diaz

    Diana Martinez Diaz

    studenthace 4 años

    Si estás utilizando una extensión de VS Code, puedes ir a sus configuraciones y seguramente habrá una específica para editar el comando de compilación, sería un comando como el que te compartí, y solo sería cuestión de agregar el flag de la misma manera que lo hiciste en la terminal.

    Matías Arriola

    Matías Arriola

    studenthace 4 años

    Muchas gracias, logré compilar el código anterior exitosamente. Sin embargo, esto funcionó únicamente en la terminal, me gustaría saber cómo podría implementar este estándar en VSCode para poder compilar con más facilidad. Gracias de todas maneras.

    Diana Martinez Diaz

    Diana Martinez Diaz

    studenthace 4 años

    ¿Puedes intentar compilar el programa de ejemplo del enlace que compartes?

    Si te da un error similar, significa que necesitas indicarle al compilador una versión específica del estandar que soporte esa característica.

    En mi versión de G++ (8.3.0), el estandar por default es gnu++ 14, es decir, C++ 14, algunas documentaciones online pueden tratar sobre C++ 11 o sobre C++ 98, y puede haber variaciones.

    Para indicarle a g++ qué estandar utilizar, puedes usar el flag -std, por ejemplo, para g++14:

    g++ hello.cpp -std=gnu++14
    Matías Arriola

    Matías Arriola

    studenthace 4 años

    Me parece que estoy usando bien la función to_string, solo requiere como parámetro un valor numérico, que podría ser una variable. En cualquier caso, puse un número de manera manual como "to_string(10)" y me salió el mismo error.

    También no estoy escribiendo std:: to_string() al declarar el "using namespace std;" en la línea 4.

    Puedes ver más detalles en este enlace.

    Irving Juárez

    Irving Juárez

    studenthace 4 años

    Dice que

    to_string
    no ha sido declarado. Eso significa que esta tomando a
    to_string
    como una función que tu creaste y no como un método nativo de C++. Asegúrate que escribiste con la sintaxis correcta la función, en este caso
    to_string
    o que hayas seguido los pasos correctamente

Curso de C++ Básico [Empieza Gratis]

Curso de C++ Básico [Empieza Gratis]

Con este curso básico de C++, aprende a programar desde cero, manipulando variables, tipos de datos, operadores, ciclos y condicionales. Practica creando pequeños programas y usa funciones para organizar mejor tu código.

Curso de C++ Básico [Empieza Gratis]
Curso de C++ Básico [Empieza Gratis]

Curso de C++ Básico [Empieza Gratis]

Con este curso básico de C++, aprende a programar desde cero, manipulando variables, tipos de datos, operadores, ciclos y condicionales. Practica creando pequeños programas y usa funciones para organizar mejor tu código.