2014-10-05 49 views
0

在我的項目中我嘗試使用下面一行來獲取字符串值:wxWidgets - 錯誤:從'wxCStrData'轉換爲非標量類型'std :: string {aka std :: basic_string <char>}'要求

string azonosito=ItemID->GetLabelText().c_str(); 

,但它不工作,這確實也不:

string tipus=CategoryFilter->GetString(CategoryFilter->GetCurrentSelection()).c_str(); 

錯誤:轉換,從 'wxCStrData' 非標量型「的std :: string {又名性病:: basic_string的} '要求

我使用Code :: Blo cks 13.12和wxWidgets TDM 4.8.1。,但是這個Code :: Blocks可以完全執行一個使用完全相同的轉換方法編寫的舊版wxWidgets項目。 可能是什麼問題?

任何意見和建議,歡迎, 在此先感謝

回答

1

c_str()返回一個多態對象轉換爲任何const char*const wchar_t*,因此,在不確定性的情況下,您需要選擇究竟你需要的。然而,在這種情況下,你完全可以通過做

std::string azonosito(ItemID->GetLabelText().c_str()); 

避免這種不確定性,或者更明確地,

std::string azonosito(ItemID->GetLabelText().ToStdString()); 
相關問題