Saltar al contenido

No se permite el tipo incompleto: stringstream

Elías, miembro de nuestro staff, nos hizo el favor de escribir esta sección porque domina perfectamente el tema.

Solución:

#include y use el nombre completamente calificado, es decir std::stringstream ss;

Algunos de los encabezados del sistema proporcionan una declaración directa de std::stringstream sin la definición. Esto lo convierte en un ‘tipo incompleto’. Para solucionarlo, debe incluir la definición, que se proporciona en el encabezamiento:

#include 

Un incomplete type El error es cuando el compilador encuentra el uso de un identificador que sabe que es un tipo, por ejemplo, porque ha visto una declaración hacia adelante del mismo (p. ej. class stringstream;), pero no ha visto una definición completa para ello (class stringstream ... ;).

Esto podría suceder para un tipo que no haya usado en su propio código pero que solo esté presente a través de los archivos de encabezado incluidos, cuando haya incluido archivos de encabezado que usan el tipo, pero no el archivo de encabezado donde se define el tipo. Es inusual que un encabezado no incluya todos los encabezados que necesita, pero no es imposible.

Para elementos de la biblioteca estándar, como el stringstream clase, use el estándar de lenguaje u otra documentación de referencia para la clase o las funciones individuales (por ejemplo, Unix man páginas, biblioteca MSDN, etc.) para descubrir lo que necesita #include usarlo y en qué espacio de nombres encontrarlo, si lo hay. Es posible que deba buscar páginas donde aparezca el nombre de la clase (p. ej. man -k stringstream).

Puedes respaldar nuestra ocupación escribiendo un comentario y dejando una valoración te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *