Я хочу включить реализацию функции внутри файла .h.
Я знаю, что я предпочел бы разделить декларацию и реализацию на файлы .h и .c соответственно, это не является частью моего вопроса.
Когда я реализую функцию внутри класса, я не получаю ошибок:
class Foo
{
public:
// Class constructor
Foo() { }
};
Когда я реализую функцию вне класса (все еще в файле .h):
class Foo
{
public:
// Class constructor
Foo();
};
Foo::Foo()
{
}
Я получаю следующую ошибку: множественное определение Foo:Foo()
Может ли кто-нибудь объяснить мне логику этого? Спасибо.