incomplete type
Ошибка , когда компилятор встречает использование идентификатора , что он знает , тип, например , потому что он видел предобъявления из него (например class stringstream;
), но это не видно полного определения для него ( class stringstream { ... };
).
Это может произойти для типа, который вы не использовали в своем собственном коде, но присутствует только во включенных файлах заголовков - когда вы включили файлы заголовков, которые используют тип, но не файл заголовка, в котором этот тип определен. Необычно, что заголовок сам не включает все необходимые заголовки, но это возможно.
Для вещей из стандартной библиотеки, таких как stringstream
класс, используйте стандарт языка или другую справочную документацию для класса или отдельных функций (например, man
страницы Unix , библиотеку MSDN и т. Д.), Чтобы выяснить, что вам нужно для #include
ее использования и что пространство имен, чтобы найти его, если таковое имеется. Возможно, вам придется искать страницы, на которых появляется имя класса (например man -k stringstream
).