J'ai cette fonction dans mon programme qui convertit les entiers en chaînes:
QString Stats_Manager::convertInt(int num)
{
stringstream ss;
ss << num;
return ss.str();
}
Mais chaque fois que je lance ceci, j'obtiens l'erreur:
aggregate 'std::stringstream ss' has incomplete type and cannot be defined
Je ne suis pas vraiment sûr de ce que cela signifie. Mais si vous savez comment le réparer ou si vous avez besoin de plus de code, merci de le commenter. Merci.
Vous avez probablement une déclaration forward de la classe, mais vous n'avez pas inclus l'en-tête:
#include <sstream>
//...
QString Stats_Manager::convertInt(int num)
{
std::stringstream ss; // <-- also note namespace qualification
ss << num;
return ss.str();
}
Comme si c'était écrit là-haut, vous oubliez de taper #include <sstream>
#include <sstream>
using namespace std;
QString Stats_Manager::convertInt(int num)
{
stringstream ss;
ss << num;
return ss.str();
}
Vous pouvez également utiliser d'autres méthodes pour convertir int
en string
, comme
char numstr[21]; // enough to hold all numbers up to 64-bits
sprintf(numstr, "%d", age);
result = name + numstr;
vérifier this!