我正在设计纸牌游戏程序。
在其中,StartStack是一个" deck"对于卡片,StartCard是从卡片底部开始的卡片,而AnimalCard和ActionCard是可以添加到卡片组的卡片类型。但是,我在Xcode中遇到了一些非常奇怪的错误。
以下是我的课程:
StartStack.hpp:
#ifndef StartStack_hpp
#define StartStack_hpp
// Imports of other classes
#include "AnimalCard.h"
#include "StartCard.hpp"
class ActionCard;
// Imports of frameworks
#include <deque>
#include <stdio.h>
#include <memory>
class StartStack : public AnimalCard{
private:
deque<shared_ptr<AnimalCard> > sstack;
StartCard scard;
public:
StartStack();
StartStack& operator+= ( std::shared_ptr<ActionCard> );
StartStack& operator-= ( std::shared_ptr<ActionCard> );
std::shared_ptr<StartCard> getStartCard();
char getAnimals(int);
std::shared_ptr<ActionCard> pop_front() { return sstack.pop_front(); }
std::shared_ptr<ActionCard> remove_front();
};
此课程的错误:
StartCard.hpp:
#ifndef StartCard_hpp
#define StartCard_hpp
// Imports of other classes
#include "NoSplit.hpp"
// Imports of frameworks
#include <stdio.h>
#include <deque>
class StartCard : public NoSplit{
public:
StartCard();
char getAnimals(int index){return c;};
};
ActionCard.h:
// Imports of other classes
#include "QueryResult.hpp"
#include "Player.hpp"
#include "NoSplit.hpp"
#include "Table.hpp"
class ActionCard : public NoSplit{
public:
virtual QueryResult query() = 0;
virtual void perform(Table&, Player*, QueryResult ) = 0;
};
此课程的错误:
AnimalCard.h是一个虚拟类,其中包含一些与卡相关的方法,到目前为止,QueryResult只是一个没有任何内容的构造函数。 Player.hpp和NoSplit.hpp也正常编译。
我已经调查了Xcode中的相关错误,并且没有遇到与我遇到的问题相关的任何问题。如果有人可以提出可能会有所帮助的事情,那将非常感激。