1

簡単なクラスを定義しました

#pragma once
#include "aSuit.h";
class Card
{
private:
    aSuit theSuit;
public:
    Card(void);
    ~Card(void);
    aSuit getSuit();
    void setSuit(aSuit theSuit);
};

次に、ベクトルを定義しました

vector<Card> theCards;

それから私はカードを押したかった

theCards.push_back(new Card());

「オーバーロードされた関数のインスタンスがありません」というコンパイル エラーが発生します。

vector.push_back は文字列のベクトルでは機能しましたが、私が定義したクラスでは機能しませんでした。Visual C++ 2010 を使用しています。助けてください。

4

1 に答える 1

9
vector<Card> theCards;

これにより、 のベクトルが作成されますCard

theCards.push_back(new Card());

これは、「へのポインター」のベクトルがあることを前提としていますCard

「へのポインタCard」と「Card」は同じものではありません。あなたが言いたいのは:

theCards.push_back(Card());
于 2012-08-23T00:07:06.327 に答える