Qt c ++聚合'std :: stringstream ss'类型不完整,无法定义

tyt*_*949 89 c++ string qt stringstream

我在我的程序中有这个函数将整数转换为字符串:

    QString Stats_Manager::convertInt(int num)
    {
        stringstream ss;
        ss << num;
        return ss.str();
    }
Run Code Online (Sandbox Code Playgroud)

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

aggregate 'std::stringstream ss' has incomplete type and cannot be defined
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么.但如果您知道如何修复它或需要更多代码,请发表评论.谢谢.

Luc*_*ore 140

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

#include <sstream>

//...
QString Stats_Manager::convertInt(int num)
{
    std::stringstream ss;   // <-- also note namespace qualification
    ss << num;
    return ss.str();
}
Run Code Online (Sandbox Code Playgroud)


boo*_*ung 6

就像上面写的一样,您忘记输入 #include <sstream>

#include <sstream>
using namespace std;

QString Stats_Manager::convertInt(int num)
{
   stringstream ss;
   ss << num;
   return ss.str();
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用其他方式将其转换intstring,例如

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

检查这个!

  • `using std;`无效。您尝试过编译吗? (3认同)