Noté un comportamiento muy curioso que, si es estándar, me encantaría explotar (lo que me gustaría hacer con él es bastante complejo de explicar e irrelevante para la pregunta).Declarar una función estática y luego no estática: ¿es estándar?
El comportamiento es:
static void name();
void name() {
/* This function is now static, even if in the declaration
* there is no static keyword. Tested on GCC and VS. */
}
Lo curioso es que la inversa produce un error de compilación tiempo:
void name();
static void name() {
/* Illegal */
}
Por lo tanto, es esta norma y puedo esperar otros compiladores a comportarse de la misma manera ? ¡Gracias!
Estoy usando C++, pero agregué una etiqueta C porque pensé que sería lo mismo en C. –
oh y gracias por la gran respuesta –