Cita:
Iniciado por scrolling Pues que extraño que yo sí le entendi...
Pero bueno, tienes razon en eso de extern, ya que aunque no lo ponga va a compilar el programa, en lo personal prefiero usarlo para asi saber que esa funcion esta en otro archivo y que ahi solo esta la declaracion y no la definicion... Cuestion de gustos... A mi me compilo de las 2 formas, con y sin extern...
Ademas, extern no lo uso "para llamar a funciones de otros archivos fuente", como dices, se usa para declarar la funcion, no para llamarla...
Mmm... En _todos_ los archivos que quieras que funcione la función debe aparecer la definición, incluido en el archivo fuente donde esté la implementación... Vamos, esa es la manera "estándar" de organizar los archivos... Un header que contiene definiciones que sirve a todos los archivos fuente incluido al que tiene la implementación.
La verdad, si trabajas con 20 archivos fuente no puedes andar poniendo "extern" en los headers... Un header es para eso, para declarar implementaciones de otros archivos fuente.
Realmente no te puedo decir que desventajas reales hay usando extern, pero lo que sé es que no he visto a nadie que lo use para ese propósito... Así que mejor olvídate de él. ;)