Mam tę funkcję w moim programie, która konwertuje liczby całkowite na ciągi:
QString Stats_Manager::convertInt(int num)
{
stringstream ss;
ss << num;
return ss.str();
}
Ale kiedy to uruchamiam, pojawia się błąd:
aggregate 'std::stringstream ss' has incomplete type and cannot be defined
Nie bardzo wiem, co to oznacza. Ale jeśli wiesz, jak to naprawić lub potrzebujesz więcej kodu, po prostu skomentuj. Dzięki.
c++
string
qt
stringstream
tyty5949
źródło
źródło
#include <sstream>
Odpowiedzi:
Prawdopodobnie masz przednią deklarację klasy, ale nie zawierałeś nagłówka:
#include <sstream> //... QString Stats_Manager::convertInt(int num) { std::stringstream ss; // <-- also note namespace qualification ss << num; return ss.str(); }
źródło
Jak tam jest napisane, zapominasz o wpisaniu
#include <sstream>
#include <sstream> using namespace std; QString Stats_Manager::convertInt(int num) { stringstream ss; ss << num; return ss.str(); }
Możesz także użyć innych sposobów konwersji
int
nastring
, na przykładchar numstr[21]; // enough to hold all numbers up to 64-bits sprintf(numstr, "%d", age); result = name + numstr;
sprawdź to!
źródło