LINUX.ORG.RU

История изменений

Исправление batbko, (текущая версия) :

Она может не найтись при линковке. Правда тут речь скорее о си, а не си++.

Если это так - пример в студию, конечно возможно, что я чего то не знаю. Но без примера, утверждение выше - голословно чуть менее чем полностью.

Она(inline функция) не может не найтись при линковке, до тех пор пока ты не разделил declaration и definition, при этом, с большой долей вероятности компилятор заставит её перестать быть inline функцией ибо он тебе ничем не обязан и ключевое слово inline - только рекомендация.

Т.к. у тебя будет либо ошибка времени компиляции на вызове этой функции, либо это не inline функция, либо упоротый дизайн обязывает пользователя заincludi'ть ещё и реализацию, что бы компилятор смог сообразить откуда взять тело этой самой inline функции.

Но в последнем случае, у тебя тоже будет ошибка компиляции, но никак не линковки как утверждает товарищ a1batross

А мораль в чём, мораль в том, что прежде чем капитанить

Когда получается undefined reference, значит что-то не так со сборкой.

и потом лепить, что то про хидеры, надо бы, сначала, разобраться из каких этапов эта сборка состоит, и что на этих этапах происходит, а не поучительным тоном пороть хрень:)

Но. Если таки есть кейс - то просветите меня, буду благодарен, однако, пример в студию...

Исходная версия batbko, :

Она может не найтись при линковке. Правда тут речь скорее о си, а не си++.

Если это так - пример в студию, конечно возможно, что я чего то не знаю. Но без примера, утверждение выше - голословно чуть менее чем полностью.

Она(inline функция) не может не найтись при линковке, до тех пор пока ты не разделил declaration и definition, что с большой долей вероятности компилятор заставит её перестать быть inline функцией ибо он тебе ничем не обязан и ключевое слово inline - только рекомендация.

Т.к. у тебя будет либо ошибка времени компиляции на вызове этой функции, либо это не inline функция, либо упоротый дизайн обязывает пользователя заincludi'ть ещё и реализацию, что бы компилятор смог сообразить откуда взять тело этой самой inline функции.

Но в последнем случае, у тебя тоже будет ошибка компиляции, но никак не линковки как утверждает товарищ a1batross

А мораль в чём, мораль в том, что прежде чем капитанить

Когда получается undefined reference, значит что-то не так со сборкой.

и потом лепить, что то про хидеры, надо бы, сначала, разобраться из каких этапов эта сборка состоит, и что на этих этапах происходит, а не поучительным тоном пороть хрень:)

Но. Если таки есть кейс - то просветите меня, буду благодарен, однако, пример в студию...