On Thu, May 31, 2007 at 09:12:56PM +0200, Peter Kümmel wrote: > > I tried to do something like this so I didn't have the same code in two > > places: > > QModelIndex & QCitationDialog::getSelectedIndex(QListView *) { > > QModelIndexList const selIdx = > > availableLV->selectionModel()->selectedIndexes(); > > if (selIdx.empty()) > > return QModelIndex(); //this is an invalid one. > > return selIdx.first(); > > } > > But that failed: warning: returns reference to temporary. Any ideas how > > to avoid this and still return a reference? Or could I return a smart > > returning "const QModelIndex &" should be save. But you could also > return may value, copying QModelIndex isn't that expensive. The Qt > code return often by value, QModelIndex was designed for this.
Indeed. Apart from that QModelIndex & QCitationDialog::getSelectedIndex(QListView *) { ... if (selIdx.empty()) return QModelIndex(); //this is an invalid one. returns a reference to a temporary, which is useless in any case as accessing it will invoke undefined behaviour. Andre'