c++ online Error: el vector no nombra un tipo




c++ pdf (4)

Estoy teniendo muchos errores en mi proyecto final (un simulador de poker y black jack). Estoy usando un vector para implementar las "manos" en la clase de blackjack, y estoy usando un tipo de datos estructurado declarado en otra clase, que se hereda públicamente. El error que me preocupa es que el compilador que estoy usando me dice que no estoy declarando un tipo en el vector.

archivo de encabezado de 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 

Archivo de encabezado de tarjeta (esta es la clase de la que Black Jack hereda):

 #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

También puedes agregar #include<vector> en el encabezado. Cuando dos de las soluciones anteriores no funcionan.


utilizar:

std::vector <Acard> playerHand;

En todas partes lo califican por std::

o hacer

using std::vector;

en su archivo cpp.

Tienes que hacer esto porque vector está definido en el std nombres std y no le dices a tu programa que lo encuentre en el std nombres std , necesitas decirlo.


Necesita calificar vector con su espacio de nombres (que es std ), o importar el espacio de nombres en la parte superior de su archivo CPP:

using namespace std;

Olvidó agregar el prefijo std:: namespace al nombre de clase del vector .





c++