considerar:C++ ambigüedad sintaxis
void f(std::pair<bool,bool> terms = std::pair<bool,bool>(1,1)) {}
gcc 4.4 está bien, gcc 4.3 se queja error: expected ',' or '...' before '>' token
. La solución es:
void f(std::pair<bool,bool> terms = (std::pair<bool,bool>(1,1))) {}
¿Cuál es el motivo? ¿Es un error en 4.3?
Parece algo relacionado con el Pars más molesto (http://en.wikipedia.org/wiki/Most_vexing_parse). ¿Qué pasa con 'std :: pair terms = std :: make_pair (true, true)'? –
¿por qué usar '1' para booleanos? No mezcle numerales y booleanos, realmente:/ –