2011-04-25 287 views
72

爲什麼此行會提供錯誤Error: incomplete type is not allowed不完整類型不允許使用:stringstream

stringstream ss; 
+0

你包含哪些頭文件? – 2011-04-25 18:21:39

+0

我猜測有一個'#include '或者我應該使用的東西? #包括 的#include 的#include 的#include 的#include 的#include 的#include 的#include pighead10 2011-04-25 18:22:39

回答

136

#include <sstream>並使用完全合格的名稱即std::stringstream ss;

+2

是的,但是......導致錯誤的原因是什麼? – 2015-02-13 18:30:52

+0

錯誤可能是由於stringstream被定義爲未定義的通用類型。 – mireazma 2015-02-19 08:03:57

28

請加:

#include <sstream> 
+0

:d感謝那些工作對我! – 2015-10-14 21:58:49

5

一個不完整的類型是當你有型的正向聲明(如class stringstream;)所以編譯器知道這個標識符是一個類型,但不是它的完整定義(class stringstream { ... };)。

如果您已經包含使用該類型的標題,但不包含定義類型的標題,則可能會發生這種情況。

相關問題