C ++ ключевое слово extern для функций. Почему бы просто не включить заголовочный файл?

Если я правильно понимаю это значит

extern void foo();

что функция foo объявлена ​​в другом модуле перевода.

1) Почему бы просто не #include заголовок, в котором объявлена ​​эта функция?

2) Как компоновщик узнает, где искать функцию во время компоновки?

edit: может быть, я должен уточнить, что за приведенным выше объявлением следует использование функции

foo();

Это никогда не определяется в этом переводе.

Ответы на вопрос(5)

Ваш ответ на вопрос