Wir haben eine Aufgabe, ein Spiel von Blackjack zu erstellen.C++ - Probleme mit Array von Objekten
Bellow ist Version meines Code vereinfacht:
#include <iostream>
#include <string>
#include <time.h>
using namespace std;
class Deck
{
private:
Card cards[52]; <-- HERE!!
public:
};
class Card
{
private:
int suit;
int number;
public:
int getSuit();
int getNumber();
void setCard(int suit, int number);
};
int Card::getSuit()
{
return suit;
}
int Card::getNumber()
{
return number;
}
void Card::setCard(int s, int n)
{
suit = s;
number = n;
}
class Players
{
private:
Card PlayersCards[10];
public:
/*Card getCard();*/
};
//Card Players::getCard()
//{
// return;
//}
int main()
{
Players user;
cin.get();
cin.get();
return 0;
}
Das Problem ist, wo das Array von Objekten Karte erstellt wird. Der Compiler gibt mir die folgenden Fehler:
Error C3646 'cards': unknown override specifier
Error C2143 syntax error: missing ',' before '['
Error C2143 syntax error: missing ')' before ';'
Error C2238 unexpected token(s) preceding ';'
Was ist falsch mit meinem Code?
Da der Compiler die Klasse Card nicht versteht, löst er den Parser aus, wodurch die Fehlermeldungen ziemlich stumpf werden. – mksteve
Ich fühle für dich. Die Tatsache, dass C++ Forward-Deklarationen überhaupt benötigt (im Gegensatz zu anderen Sprachen, siehe C#, die die Arbeit für Sie erledigen) plus die Tatsache, dass die Fehlermeldung irreführend ist ... Seufzer. Warum programmieren wir wieder in C++? :) –