The code: template<typename T> bool confirm(T t, int i) { return t == i; } int main() { int i = 0, j = 1, k = 2; if (i == j) && confirm(j, k) ) { i = 2; } return 0; } gets you: ~/ootbc/sim/src$ g++ foo.cc foo.cc: In function 'int main()': foo.cc:5: error: expected `;' before '(' token foo.cc:5: error: label 'confirm' used but not defined
The actual problem is an extra ")" after "i == j", with nary a label anywhere. -- Summary: strange diagnostic Product: gcc Version: 4.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: igodard at pacbell dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33176