Tôi đang gặp nhiều lỗi trong dự án cuối cùng của mình (một trò chơi xì phé và xì phé màu đen). Tôi đang sử dụng một vector để thực hiện "bàn tay" trong lớp blackJack, và tôi đang sử dụng một kiểu dữ liệu có cấu trúc được khai báo trong một lớp khác, được thừa hưởng công khai. Lỗi tôi đang lo lắng về là trình biên dịch tôi đang sử dụng nói với tôi rằng tôi không tuyên bố một loại trong vector.Lỗi: vector không đặt tên là loại
Blackjack tập tin tiêu đề:
#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
tập tin tiêu đề thẻ (đây là lớp jack màu đen được thừa hưởng từ):
#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
Không sai. Nhưng xin đừng làm điều này. –
U có thể thực hiện điều này nhưng chỉ trong các tệp nguồn. Không có trong tiêu đề bởi vì sau đó U sẽ là một điều rất xấu (tôi có nghĩa là một số spaghetti). – Hauleth
@LokiAstari tại sao không làm điều này? Không phải cái này 'sử dụng không gian tên' là gì? hoặc là vấn đề với lũ lụt không gian tên của bạn với tất cả mọi thứ từ std? (Tôi không tranh luận, tôi đang học C++) –