Неполный тип не допускается: stringstream


почему эта строка дает ошибку Error: incomplete type is not allowed?

stringstream ss;
3 80

3 ответа:

#include <sstream> и использовать полное имя, т. е. std::stringstream ss;

пожалуйста, добавьте:

#include <sstream>

неполный тип-это когда у вас есть прямое объявление типа (например,class stringstream;), поэтому компилятор знает, что этот идентификатор является типом, но не полным определением для него (class stringstream { ... };).

это может произойти, когда вы включили заголовки, которые используют тип, но не заголовок, где тип определен.

для вещей из стандартной библиотеки, такие как stringstream класс, используйте справочную документацию (например, Unix man страницы, MSDN и др.), чтобы выяснить, что вы надо #include чтобы использовать его и какое пространство имен, чтобы найти его, если таковые имеются. Возможно, вам придется искать страницы, на которых отображается имя класса (например,man -k).