I want to include implementation of a function inside an .h file.
I know I would rather separate declaration and implementation to .h and .c file accordingly, this is not a part of my question.
When I implement the function inside the class, I receive no errors:
class Foo { public: // Class constructor Foo() { } }; When I implement the function outside the class (still in the .h file):
class Foo { public: // Class constructor Foo(); }; Foo::Foo() { } I receive the following error: multiple definition of Foo:Foo()
Can someone explain me the logic behind this? Thanks.