2012-08-01 35 views
67

Ben dizeleri tamsayılar dönüştürür benim programda bu işlevi vardır:Qt C++ agrega 'std :: stringstream ss' eksik türü olan ve tanımlanamaz

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

Ama bu çalıştırmak hiç ben hatayı alınca :

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

Bunun ne anlama geldiğinden emin değilim. Ancak şimdi nasıl düzelteceğinizi veya daha fazla koda ihtiyacınız varsa lütfen yorum yapın. Teşekkürler.

+37

'#include ' – Managu

+1

Bir kenara göre, QString bir dizeden bir dizge oluşturmak için statik bir işleve sahiptir. [QString :: number] (http://doc.qt.nokia.com/4.8-snapshot/qstring.html#number). – cgmb

cevap

106

Muhtemelen sınıfın ileri beyanı var, ama başlık dahil etmedik: Yukarısı yazıldığı gibi

#include <sstream> 

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

, sen de can #include <sstream>

#include <sstream> 
using namespace std; 

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

yazmak için unutmak int,

için dönüştürmek üzere başka yöntemler kullanın

denetle this!

+3

'std;' kullanılarak geçersizdir. Derlemeyi denediniz mi? –