nella documentazione Qt si dice che un qreal
è unCome definire un Qreale letterale
Typedef per doppia a meno che Qt è configurato con l'opzione galleggiante -qreal.
Ciò significa quasi sempre double
ma float
su dispositivi ARM.
Desidero utilizzare i valori letterali qreal
tuttavia non so come scriverli.
qreal someValue = calcFunc();
qreal min = qMin(someValue, 0.0);
Dove 0.0
è un double
letterale e 0.0f
sarebbe un float
letterale. Su ARM si tratta di un arresto compilato in quanto non esiste la funzione qMin(float, double)
.
Potrei scrivere static_cast<qreal>(0.0)
ma questo sembra eccessivamente prolisso.
Quindi, come si definisce un valore letterale qreal
?
Qual è il problema con 'valore reale = 1.234'? Il compilatore dovrebbe gestire tutte le conversioni, senza bisogno di cast esplicito. –
@KarstenKoop Ho modificato il codice di esempio nella domanda per rendere più chiaro il problema. – Troyseph
È possibile definire un valore letterale definito dall'utente C++ 11 che restituirà qreal. – Velkan