簡體   English   中英

錯誤:vector沒有命名類型

[英]Error: vector does not name a type

我的最終項目(撲克和黑色插孔​​卡片)中有很多錯誤。 我正在使用向量來實現blackJack類中的“hands”,我正在使用在另一個類中聲明的結構化數據類型,這是公開繼承的。 我擔心的錯誤是我正在使用的編譯器告訴我,我沒有在向量中聲明一個類型。

blackJack頭文件:

 #ifndef BLACKJACK_H
 #define BLACKJACK_H
 #include <vector>
 #include "card.h"

 class blackJack: public cards
 {
 private:
    vector <Acard> playerHand;
    vector <Acard> dealerHand;

 public:
    blackJack();
    void dealHands();
    void hitOrStay();
    void dealerHit();
    int handleReward(int);
    void printHands();
 };
 #endif 

卡頭文件(這是黑傑克繼承的類):

 #ifndef CARD_H
 #define CARD_H

 const char club[] = "\xe2\x99\xa3";
 const char heart[] = "\xe2\x99\xa5";
 const char spade[] = "\xe2\x99\xa0";
 const char diamond[] = "\xe2\x99\xa6";
 //structured data to hold card information
 //including:
 // a number, representing Ace-King (aces low)
 //a character, representing the card's suit
 struct Acard
 {
   int number;
   char pic[4];
 };



 // a class to hold information regarding a deck of cards
 //including:
 //An array of 52 Acard datatypes, representing our Deck
 //an index to the next card in the array
 //a constructor initializing the array indices to Ace-king in each suit
 //a function using random numbers to shuffle our deck of cards
 //13 void functions to print each card
 class cards
 {
  private:
    Acard Deck[52];
    int NextCard;
  public:
    cards();
    Acard getCard();
    void shuffleDeck();
    void cardAce(char[]);
    void cardTwo(char[]);
    void cardThree(char[]);
    void cardFour(char[]);
    void cardFive(char[]);
    void cardSix(char[]);
    void cardSeven(char[]);
    void cardEight(char[]);
    void cardNine(char[]);
    void cardTen(char[]);
    void cardJack(char[]);
    void cardQueen(char[]);
    void cardKing(char[]);

 };

 #endif

您忘了將std:: namespace前綴添加到vector類名稱。

采用:

std::vector <Acard> playerHand;

到處都有資格通過std::

或做:

using std::vector;

在你的cpp文件中。

你必須這樣做,因為vector是在std命名空間中定義的,你不告訴你的程序在std命名空間中找到它,你需要告訴它。

您需要使用其命名空間( std )限定vector ,或者在CPP文件的頂部導入命名空間:

using namespace std;

您還可以在標題中添加#include<vector> 當上述兩種解決方案不起作用時。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM