简单的c++卡片程序.未知的错误

Simple C++ Card Program. Unknown Error

本文关键字:未知 错误 程序 c++ 简单      更新时间:2023-10-16

好的,所以我是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 (){}

my header file is:

#include "Card.h"
class Deck
{
public:
Deck();
void shuffle();
Card dealCard();


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

这个错误意味着您有未解析的外部符号

现在符号可以是变量、类、成员函数中的任何东西。

它们无法解析的原因可能是因为你的代码(或你正在使用的库)的某些部分依赖于这些符号,而它们无法被找到,因为你没有链接正确的库或实现它们。

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

Card class似乎未声明。你可能想在Card.h文件中做。您可以通过简单地输入class Deck;来向前声明它,但请记住,它只是一个必须在某个地方解决的占位符。

通常'Unresolved externals'指向未解析的符号:

error LNK2001: unresolved external symbol "the symbol that not resolved"

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

希望这对你有帮助,Yaron