Credo che il problema è dovuto al fatto che si sta definendo la variabile v all'interno del test. Come spiegato da @rmalchow, funzionerà modificarlo in
int v;
if((v = someMethod()) != 0) return true;
C'è anche un altro problema di portata variabile. Anche se ciò che hai provato dovesse funzionare, quale sarebbe il punto? Supponendo di poter definire l'ambito della variabile all'interno del test, la variabile v non esisterebbe al di fuori di tale ambito. Quindi, creare la variabile e assegnare il valore sarebbe inutile, poiché non sarebbe possibile utilizzarlo.
Le variabili esistono solo nell'ambito della creazione in cui sono state create. Dal momento che stai assegnando il valore per usarlo in seguito, considera l'ambito in cui stai creando la varible in modo che possa essere utilizzato dove necessario.
Quindi se avete bisogno della dichiarazione basta comunque posizionare 'someMethod()' davanti alla dichiarazione. 'int v = someMethod()' – wviana
Peccato, nessun oneliner per me :( –
ho l'oneliner>: D –