Chicos, estoy haciendo ejercicios de "The C++ Programming Language 3rd ed." y en la página 340 hay un ejemplo de la función:¿Podría Bjarne cometer un error? (mientras explica las plantillas), o todavía no entiendo?
template <class T, class C = Cmp<T> > // Here is a default argument
// But as far as I'm concerned it's illegal to have a default argument in
// a function template
int compare (const String<T>& str1, const String<T>& str2)
{
/*Some code*/
}
Así que mi pregunta es:
¿Hay algún error en un libro o estoy recibiendo este mal?
Editado para eliminar las abreviaturas innecesarias e innecesario MAYÚSCULAS para la cordura de todos los interesados. –
@Cogwheel del estándar actual. –
@Cogwheel: me sale la idea de que es ilegal desde el estándar, 14.1/9, "Un argumento de plantilla predeterminado no se especificará en una declaración de plantilla de función o una definición de plantilla de función". –