Я не могу понять смысл следующего поведения: один заголовок с некоторыми базовыми типами, а другой заголовок, в котором я использую эти типы в нескольких функциях. После этого я начал создавать классы на основе своих определенных типов и функций. В заголовке функции, если я оставлю следующую подпись:
void whateverFunction(parameters)
Компоновщик указывает, что существует множество определений любой функции. Теперь, если изменить его на:
inline void whateverFunction(parameters)
проблема со связью исчезла, и все хорошо компилируется и связывается. Что я знаю относительно inline, так это то, что он заменяет каждый вызов функции своим кодом, кроме того, что он довольно темный, поэтому мой вопрос:
Как компоновщик обрабатывает встроенные функции в C ++?