Подтвердить что ты не робот

Qt С++ aggregate 'std:: stringstream ss' имеет неполный тип и не может быть определен

У меня есть эта функция в моей программе, которая преобразует целые числа в строки:

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

Но когда я запускаю это, я получаю ошибку:

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

Я не совсем уверен, что это значит. Но если вы знаете, как это исправить или вам нужно больше кода, просто прокомментируйте. Благодарю.

4b9b3361

Ответ 1

У вас, вероятно, есть объявление вперед класса, но он не включал заголовок:

#include <sstream>

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

Ответ 2

Как там написано, вы забыли ввести #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;

проверьте это!