Main.cc: In function ‘bool cmp(T, T)’: Main.cc:10:5: warning: init-statement in selection statements only available with -std=c++1z or -std=gnu++1z if(a.j==b.j && a.s*b.s<0) ^ Main.cc:10:15: error: ‘amp’ was not declared in this scope if(a.j==b.j && a.s*b.s<0) ^~~ Main.cc:10:15: note: suggested alternative: ‘cmp’ if(a.j==b.j && a.s*b.s<0) ^~~ cmp Main.cc:10:23: error: expected ‘)’ before ‘;’ token if(a.j==b.j && a.s*b.s<0) ^ Main.cc:10:2: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if(a.j==b.j && a.s*b.s<0) ^~ Main.cc:10:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ if(a.j==b.j && a.s*b.s<0) ^ Main.cc:10:34: error: expected ‘;’ before ‘)’ token if(a.j==b.j && a.s*b.s<0) ^ Main.cc:10:32: warning: statement has no effect [-Wunused-value] if(a.j==b.j && a.s*b.s<0) ~~~~~~~^~ Main.cc:14:1: warning: control reaches end of non-void function [-Wreturn-type] } ^