0

好的,所以我是 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;
};
4

3 回答 3

0

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

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

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

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

于 2013-04-10T06:51:15.727 回答
0

Card类似乎未声明。您可能想在Card.h文件中执行此操作。您可以通过简单地键入来前向声明它class Deck;,但请记住它只是一个占位符,无论如何都必须在某个地方解决。

于 2013-04-10T06:57:25.327 回答
0

通常“未解析的外部”指向未解析的符号:

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

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

希望这会有所帮助,亚龙

于 2013-04-10T07:06:26.953 回答