Qt c ++聚合“标准::串streamSS”具有不完整的types,无法定义

我有我的程序中的整数转换为string的函数:

QString Stats_Manager::convertInt(int num) { stringstream ss; ss << num; return ss.str(); } 

但是,当我运行这个我得到的错误:

 aggregate 'std::stringstream ss' has incomplete type and cannot be defined 

我不确定这是什么意思。 但是,如果你现在如何解决它或需要更多的代码,请只是评论。 谢谢。

你可能有一个类的前向声明,但没有包含头:

 #include <sstream> //... QString Stats_Manager::convertInt(int num) { std::stringstream ss; // <-- also note namespace qualification ss << num; return ss.str(); } 

就像写在那里,你忘了input#include <sstream>

 #include <sstream> using namespace std; QString Stats_Manager::convertInt(int num) { stringstream ss; ss << num; return ss.str(); } 

你也可以使用其他方式将int转换为string

 char numstr[21]; // enough to hold all numbers up to 64-bits sprintf(numstr, "%d", age); result = name + numstr; 

检查这个!