在我的项目中,我尝试使用以下行来获取字符串值:
string azonosito=ItemID->GetLabelText().c_str();
但它不起作用,这也不是:
string tipus=CategoryFilter->GetString(CategoryFilter->GetCurrentSelection()).c_str();
错误:转换自' wxCStrData'到非标量类型' std :: string {aka std :: basic_string}'请求的
我正在使用Code :: Blocks 13.12和wxWidgets TDM 4.8.1。但是这个Code :: Blocks可以完全执行用旧wxWidgets版本编写的项目,使用完全相同的转换方法。 可能是什么问题?
欢迎提出任何意见和建议, 提前致谢
答案 0 :(得分:1)
c_str()
会返回一个可转换为const char*
或const wchar_t*
的多态对象,因此如果不明确,您需要选择您需要的内容。但是在这种情况下,您可以通过
std::string azonosito(ItemID->GetLabelText().c_str());
或者更清楚地说,
std::string azonosito(ItemID->GetLabelText().ToStdString());