Error de compilación de C ++: tiene inicializador pero tipo incompleto


104

Estoy codificando en Eclipse y tengo algo como lo siguiente:

#include <ftream>
#include <iostream>

void read_file(){
    char buffer[1025];
    std::istringstream iss(buffer);
}

Sin embargo, cuando intento compilar, aparece el siguiente error: variable 'std::istringstream iss' has initializer but incomplete type

¿Alguna idea rápida? He buscado en Google y parece que la mayoría de las personas con este problema simplemente no incluyeron los archivos de encabezado correctos, lo que creo que estoy haciendo correctamente.


11
std::istringstring? Sin <sstream>embargo, está en el encabezado.
chris

Ups, escribí mal la pregunta, la tengo codificada de la forma en que la escribiste, así que el problema sigue siendo el mismo
Aneem

sí, agregar <sstream> hizo que se construyera correctamente, ¡gracias!
Aneem

2
Es difícil ver cuál es la justificación para reabrir. Saltaré y dejaré que otros tomen la decisión, pero parece ser un simple error.
Aaron Hall

Respuestas:


234

Necesitas que esto incluya:

#include <sstream>

13
Esto es prácticamente un error en la biblioteca estándar; se encontró la clase, pero no el método, lo que dejó al programador sin saber qué archivo incluir, a menos que se sepa de memoria los nombres de los archivos de la biblioteca estándar, lo cual es una expectativa ridícula. Espero que alguien lo informe como un error.
j riv
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.