通常我会通过说:QCombobox添加项目:
QCombobox cbb;
cbb.addItem("Hello");
Run Code Online (Sandbox Code Playgroud)
但如果我尝试这个,我会收到一个错误:
QComboBox cbb;
QString * s = new QString("hallo");
cbb.addItem(s);
error: no matching function for call to 'QComboBox::addItem(QString*&)'
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
不要使用动态内存分配QString.QString在内部处理字符串的内存管理 - 如果您QString自己为对象分配内存,则还需要注意释放内存.
在您的情况下,只需使用
QComboBox cbb;
QString s = "hallo";
cbb.addItem(s);
Run Code Online (Sandbox Code Playgroud)