имеется такой набор структур
struct s_1
{
int i1;
inline void f1(); //<<<
};
void s_1::f1()
{
}
struct s_2:public s_1
{
int i2;
void f2();
};
void s_2::f2()
{
f1();
}
s_2 s2;
если всё это в одном файле, то компилится без проблем. Если раскидано как положено по файлам h и cpp , то компилятор (студия №6, в другой не пробовал) стонет, что s2.obj : error LNK2001: unresolved external symbol "public: void __thiscall s_1::f1(void)" (?f1@s_1@@QAEXXZ)
при этом, если убрать inline из struct s_1 перед функцией f1(), то ругани нету (если проект полностью перекомпилить после этого)
почему ругается ?
(проект приложен)