Also muss ich für meine College-Klasse ein einfaches Programm tun, die eine Struktur fraction
mit Zähler und Nenner als ints
und eine Funktion is_correct()
Überprüfung zwei Bedingungen umfassen würde: ist Nenner !=0
und ist nominator <
Nenner. Wenn zwei von ihnen wahr sind, dann sollte ich true
zurückgeben, sonst false
. Ich bin verpflichtet, den Operator ?:
zu verwenden. Also hier ist mein Code:mit Return „:“ Operator
struct fraction {int n,d;
bool is_correct(){
d!=0?(return n<d?true:false):return false;
};
};
Ich meine, ich glaube, ich ein if
mit Bedingung verwenden könnte d!=0
, aber ich muss nur ?:
verwenden, und g++
gibt mir diese: expected primary-expression before 'return'
Der ternäre Ausdruck ist ein Ausdruck und kann keine Anweisungen verarbeiten. 'return' kann nur in Anweisungen verwendet werden, nicht in Ausdrücken. –
Ihre Bearbeitung hat Ihre Frage in das Gebiet von zu weit oder unklar verschoben. Auch wenn es nicht so ist, [Chamäleon-Fragen] (http://meta.stackoverflow.com/a/266768/2792531) sind entmutigt. Wenn Sie eine andere Frage stellen möchten, markieren Sie hier eine akzeptierte Antwort und geben Sie eine neue Frage ein. Daher habe ich deine Bearbeitung zurückgesetzt. – nhgrif
Da Sie den ternären Operator ('?:', Nicht '?') Verwenden müssen, enden Sie mit ziemlich dummen Dingen wie 'return n