我有一個類播放器包含一個實例變量:\矢量大小未知
vector<Card> userCards;
爲了避免我向前聲明的類Card
任何編譯錯誤。但是現在當我嘗試構建解決方案時,出現錯誤說明
卡*:未知大小。
基本上我試圖創建一個Player
誰包含非固定數量的卡,所以我嘗試使用一個向量,現在我無法得到它的工作。
Player.h
#include <iostream>
#include <vector>
using std::string;
using std::vector;
#ifndef PLAYER_H_
#define PLAYER_H_
class Card;
class Player {
private:
vector<Card> userCards;
};
#endif
Card.h
#include <iostream>
using std::string;
#ifndef CARD_H_
#define CARD_H_
class Card {
private:
string name;
string type;
public:
Card(const string& name, const string& type);
};
#endif
我有一堆不相關的不同功能,所以我沒有包括他們。
前向聲明只能用指針使用。 – Barmar
@Barmar不真實,類聲明可以用於各種目的 –
@M。M根據我的知識,Barmar是正確的,你可以轉發聲明類,但是當你引用這個類時,它必須是一個指針或引用,而不是對象本身:因此'Card *'有效,但不是'Card' –