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
Я не совсем уверен, что это значит. Но если вы знаете, как это исправить или вам нужно больше кода, просто прокомментируйте. Благодарю.
Ответы
Ответ 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;
проверьте это!