title: error LNK2019: unresolved external symbol
body: <p>I've recently started to program in C++ again, and for the purposes of education, I am working on creating a poker game. The weird part is, I keep getting the following error:</p>
  
  <pre><code>1&gt;LearningLanguage01.obj : error LNK2019: unresolved external symbol "public: __thiscall PokerGame::Poker::Poker(void)" (??0Poker@PokerGame@@QAE@XZ) referenced in function "void __cdecl `dynamic initializer for 'pokerGame''(void)" (??__EpokerGame@@YAXXZ)
  1&gt;LearningLanguage01.obj : error LNK2019: unresolved external symbol "public: __thiscall PokerGame::Poker::~Poker(void)" (??1Poker@PokerGame@@QAE@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'pokerGame''(void)" (??__FpokerGame@@YAXXZ)
  1&gt;LearningLanguage01.obj : error LNK2019: unresolved external symbol "public: void __thiscall PokerGame::Poker::begin(void)" (?begin@Poker@PokerGame@@QAEXXZ) referenced in function _wmain
  1&gt;C:\Visual Studio 2012\Projects\LearningLanguage01\Debug\LearningLanguage01.exe : fatal error LNK1120: 3 unresolved externals
  </code></pre>
  
  <p>I have done some research on the issue, and most point to the constructor and destructor definition in the header and .cpp not matching. I don't see any issues with the header and .cpp.</p>
  
  <p>Here is the code for poker.h:</p>
  
  <pre><code>#pragma once
  
  #include "Deck.h"
  
  using namespace CardDeck;
  
  namespace PokerGame
  {
      const int MAX_HAND_SIZE = 5;
  
      struct HAND
      {
          public:
              CARD cards[MAX_HAND_SIZE];
      };
  
      class Poker
      {
          public:
              Poker(void);
              ~Poker(void);
              HAND drawHand(int gameMode);
              void begin();
      };
  }
  </code></pre>
  
  <p>And the code in the .cpp:</p>
  
  <pre><code>#include "stdafx.h"
  #include "Poker.h"
  
  using namespace PokerGame;
  
  const int TEXAS_HOLDEM = 0;
  const int FIVE_CARD = 1;
  
  class Poker
  {
      private:
          Deck deck;      
  
      Poker::Poker()
      {
          deck = Deck();
      }
  
      Poker::~Poker()
      {
      }
  
      void Poker::begin()
      {
          deck.shuffle();
      }
  
      //Draws a hand of cards and returns it to the player
      HAND Poker::drawHand(int gameMode)
      {
          HAND hand;
  
          if(gameMode == TEXAS_HOLDEM)
          {
              for(int i = 0; i &lt; sizeof(hand.cards); i++)
              {
                  hand.cards[i] = deck.drawCard();
              }
          }
  
          return hand;
      }
  
  };
  </code></pre>