简单的C ++卡程序。未知错误

时间:2013-04-10 06:43:51

标签: c++

好的,所以我是C ++的新手并尝试编写一个简单的程序,这是一副卡片。但我得到了错误:“未解决的外部”。我觉得它与构造函数中的实例化有关。快速浏览一下会很感激。

#include "Card.h"
#include "Deck.h"

Deck:: Deck()
{
  this -> currentCard=0;

  this -> index = 0;

    for(int i=0;i<4;i++)
    {
        for(int j =0; j < 13;j++)
       {
          deck[index].setVal(i);
      deck[index].setSuit (j);
          index++;
        }
    }
 }


void Deck::shuffle()
{
  //implementation
  }
Card Deck:: dealCard()
{
  //implementation
   }


int main (){}

我的头文件是:

#include "Card.h"

class Deck
{
public:
Deck();
void shuffle();
Card dealCard();




private:
Card deck [52];
int currentCard;
int index;
};

3 个答案:

答案 0 :(得分:0)

错误表示您有未解析的外部符号

现在符号可以是变量,类,成员函数。

为什么它们没有得到解决是因为可能是您的代码的某些部分(或您正在使用的库)依赖于这些符号而未找到它们,因为您没有链接正确的库或实现它们。

请尝试编译所有源文件,并确保没有符号(变量,类,成员函数等)丢失。

答案 1 :(得分:0)

Card课似乎是未宣布的。您可能希望在Card.h文件中执行此操作。您只需输入class Deck;即可向前声明,但请记住它只是一个必须在某处解决的占位符。

答案 2 :(得分:0)

通常'未解析的外部'指向未解决的符号:

  

错误LNK2001:未解析的外部符号“未解析的符号”

这将显示链接器缺失的内容。

希望这有帮助,Yaron