私はクラスの中にベクトルを配置できることに気付きました。ここで私は、次のエラーが発生します私のプログラムは、次のとおりです。クラスオブジェクトをベクター内に配置しますか?
/out:blackjack.exe
blackjack.obj
blackjack.obj : error LNK2019: unresolved external symbol "private: static class
std::vector<class Card,class std::allocator<class Card> > Card::Cards" ([email protected]
[email protected]@[email protected]@@[email protected]@@@[email protected]@@[email protected]@A) referenced in functio
n "public: static void __cdecl Card::blankCard(void)" ([email protected]@@SAXXZ)
blackjack.exe : fatal error LNK1120: 1 unresolved externals
問題は、私は新しいクラスのインスタンスを作成し、そしてベクターにそれを置くしようとしている `blankcard()関数で、内部にあります。
誰かがこのコードを読んで、私の問題を教えてください、そして、これを行う方法の良い例を教えてください。ありがとうございました。
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Card
{
private:
string suit;
int number;
static vector<Card> Cards;
public:
Card::Card();
Card::Card(string cardS, int cardV);
static void createCards();
static void blankCard();
};
int main()
{
Card::blankCard();
return 0;
}
Card::Card(){};
Card::Card(string cardS, int cardV){};
void Card::blankCard()
{
int temp = 1;
int cardValue;
string suit;
int suitCount = 1;
for(int i = 1; i < 52; i++)
{
if(temp == 1 || temp > 13)
{
temp = 1;
cardValue = temp;
temp ++;
}
else if(temp > 1)
{
cardValue = temp;
temp ++;
}
if(suitCount <= 13)
{
suit = "spade";
suitCount++;
}
else if(suitCount >= 14 && suitCount <= 26)
{
suit = "club";
suitCount++;
}
else if(suitCount >= 27 && suitCount <= 39)
{
suit = "heart";
suitCount++;
}
else if(suitCount >= 40 && suitCount <= 52)
{
suit = "diamonds";
suitCount++;
}
Card a = Card(suit, cardValue);
Cards.push_back(a);
}
}
コマンドプロンプトからもエラーをコピーできます。ウィンドウの場合は、右クリックして 'マーク'を選択し、ブロックを選択して、Enterキーを押して、ここに貼り付けます。 – birryree
@birryreeありがとう! – TimothyTech