Вам нужно поместить тело функции, то есть определение, в файл заголовка.
Ваш заголовок должен выглядеть так:
Foo.h
class Foo
{
public:
Foo(void);
~Foo(void);
inline int myInlinedFunc(int value)
{
return value * value;
}
};
И, естественно, вы также должны удалить определение myInlinedFunc
из Foo.cpp
.
Или, если хотите, вы можете написать свой код заголовка следующим образом:
Foo.h
class Foo
{
public:
Foo(void);
~Foo(void);
int myInlinedFunc(int value);
};
inline int Foo::myInlinedFunc(int value)
{
return value * value;
}
Но суть в том, что если вам нужна встроенная функция, доступная для других единиц перевода, ее определение должно быть помещено в заголовочный файл.
FAQ по C ++ объясняет это и даже предсказывает вашу неразрешенную внешнюю ошибку.