Reputation: 2706
Normally I would add items to a QCombobox by saying:
QCombobox cbb;
cbb.addItem("Hello");
But if I try this I get an error:
QComboBox cbb;
QString * s = new QString("hallo");
cbb.addItem(s);
error: no matching function for call to 'QComboBox::addItem(QString*&)'
How can I solve this?
Upvotes: 4
Views: 23469
Reputation: 7044
If you use a pointer you'll need to de-referenciate it first: cbb.addItem(*s); Anyway why are you allocating a QString on heap and the comboBox (which most likely will get a parent) on stack?
Upvotes: 1
Reputation: 36649
Don't use dynamic memory allocation with QString
. QString
handles memory management for the string internally - if you allocate the memory for the QString
object yourself, you also need to take care of releasing the memory.
In your case, simply use
QComboBox cbb;
QString s = "hallo";
cbb.addItem(s);
Upvotes: 10