2012-12-06 31 views
0

有人可以幫助解決這個錯誤嗎?Qt錯誤 - 可能錯誤地使用了指針問題

QString *description = new QString; 
description = *dialog.descriptionEdit->toPlainText(); 

錯誤:沒有對應於「操作* '*的QTextEdit :: toPlainText()const的()'

,當我嘗試:

QString *description = new QString; 
description = dialog.descriptionEdit->toPlainText(); 

錯誤:無法轉換'在分配即QString」到 '的QString *'

+0

它應該是* description = dialog.descriptionEdit-> toPlainText(); – drescherjm

+1

但是你爲什麼使用QString *?我不會在大多數情況下使用它。 – drescherjm

+1

你正在'QString'上使用指針,而不需要它,並且在非常不鼓勵的情況下使用'QDialog'值 – UmNyobe

回答

1

你需要這個

*description = dialog.descriptionEdit->toPlainText(); 

否則,您將分配給指針而不是它指向的對象。 description是指向QString的指針,*descriptionQString

+4

我建議使用'QString描述;'。在Qt中有隱式共享,所以不需要動態的QString分配。 –

+0

如果'dialog'是一個指向QDialog子類的指針,它不能只是一個對象,因爲它作爲參數傳遞給一個方法? – jahsiotr

+0

即使使用指向具有QString成員的對話框的指針,QString仍然是QString(不是QString *)。 – drescherjm