?:
- это оператор, а не конструкция потока управления, поэтому все, что связано с операндами, должно быть выражением, а операторы возврата (или любые операторы) не являются допустимыми подвыражениями.
?:
- это не просто сокращение для if-else
(которое является конструкцией потока управления); это семантически отличается.
if( a > b ) return a; else return b;
с другой стороны - это то, что вы пытались сделать, и вполне допустимо (если, возможно, стилистически опрометчиво).