我的程序中有这个函数将整数转换为字符串:
QString Stats_Manager::convertInt(int num)
{
stringstream ss;
ss << num;
return ss.str();
}
但是,当我运行这个时,我得到错误:
aggregate 'std::stringstream ss' has incomplete type and cannot be defined
我不确定这意味着什么。但如果您知道如何修复它或需要更多代码,请发表评论。感谢。
答案 0 :(得分:128)
您可能有类的前向声明,但未包含标题:
#include <sstream>
//...
QString Stats_Manager::convertInt(int num)
{
std::stringstream ss; // <-- also note namespace qualification
ss << num;
return ss.str();
}
答案 1 :(得分:4)
就像在那里写的一样,你忘记输入#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;
检查this!