Tengo muchos errores en mi proyecto final (un sim de poker y blackjack). Estoy usando un vector para implementar las "manos" en la clase blackJack, y estoy usando un tipo de datos estructurados declarados en otra clase, que se hereda públicamente. El error que me preocupa es el compilador que uso diciéndome que no estoy declarando un tipo en el vector.Error: el vector no nombra un tipo
archivo de cabecera 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 cabecera tarjeta (este es el gato negro clase hereda de):
#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
No está mal. Pero por favor no hagas esto. –
U puede hacerlo, pero solo en archivos fuente. No en encabezados porque entonces U será algo muy malo (me refiero a algunos espaguetis). – Hauleth
@LokiAstari ¿por qué no hacer esto? ¿No es esto para lo que está el 'uso del espacio de nombres'? o es el problema con la inundación de su espacio de nombres con todo, desde std? (No estoy discutiendo, estoy aprendiendo C++) –