Помилка компіляції C ++: має ініціалізатор, але неповний тип


104

Я кодую Eclipse і маю щось подібне:

#include <ftream>
#include <iostream>

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

Однак, коли я намагаюся створити, я отримую таку помилку: variable 'std::istringstream iss' has initializer but incomplete type

Будь-які швидкі думки? Я гуляв навколо, і здається, що більшість людей з цією проблемою просто не включили правильні файли заголовків, які, на мою думку, я роблю правильно.


11
std::istringstring? Це все-таки в <sstream>шапці.
chris

ой, я неправильно набрав це запитання, я його
зашифрував

так, додавши <sstream>, це зробило його правильно, спасибі!
Анем

2
Важко зрозуміти, яке виправдання для повторного відкриття. Я пропущу і дозволю іншим приймати рішення, але, здається, це проста помилка.
Аарон Холл

Відповіді:


235

Вам потрібно це:

#include <sstream>

13
Це практично помилка в стандартній бібліотеці; було знайдено клас, але не метод, який залишає програміста в темряві про те, який файл включати, якщо він не знає напам’ять стандартні імена файлів бібліотеки, що є смішним очікуванням. Я сподіваюся, що хтось повідомляє про це як про помилку.
j riv
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.