title: C++: error LNK: unresolved external symbol, resulting from virtual functions
body: <p><em>Overview of classes etc of my interface!</em></p>
  
  <p><strong>Animal.H:</strong></p>
  
  <pre><code>class Animal
  {
  public:
     virtual void walk();
  }
  </code></pre>
  
  <p><strong>Animals.CPP</strong></p>
  
  <p>=EMPTY</p>
  
  <p><strong>Cow.H:</strong></p>
  
  <pre><code>class Cow : public Animal
  {
  public:
     virtual void walk();
  }
  </code></pre>
  
  <p>Here it should outomatically know the function walk is taken from the class where it's derived from right? (e.a. Animal..) when i wouldnt define the function walk, it should say i should define it right...?</p>
  
  <p><strong>Cow.CPP:</strong></p>
  
  <pre><code>void Cow::walk()
  {
     //do something specific for cow
  }
  </code></pre>
  
  <p><strong>SomeOtherClass.H</strong></p>
  
  <pre><code>namespace SomeNamespace
  {
     void LetAnimalWalk();
  }
  </code></pre>
  
  <p><strong>SomeOtherClass.CPP</strong></p>
  
  <pre><code>Cow myCow;
  namespace SomeNamespace
  {
     void LetAnimalWalk()
     {
        myCow.walk();
     }
  }
  </code></pre>
  
  <p>This should work right?... i mean, the namespace, the "Class::..." things? and the way i inherit and use the interface? </p>
  
  <p>Because this way i get with EVERY FUNCTION i made from the interface, so every virtual function gives me the following error:</p>
  
  <pre><code>SomeOtherClass.obj : error LNK2019: unresolved external symbol "public: virtual void __thiscall Cow::Walk (...etc etc...) referenced in function "void __cdecl SomeNamespace::LetAnimalWalk() (...etc etc...)
  </code></pre>
  
  <p>Does anyone know what i'm doing wrong, what i do find mostly is that it means i've not declared a function right (somewhere in Cow.cpp??)</p>
  
  <p>Thanks in advance guys</p>