If I have a simple class like this one for a card:
class Card {
public:
enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES };
Card(Suit suit);
};
and I then want to create an instance of a card in another file how do I pass the enum?
#include "Card.h"
using namespace std;
int main () {
Suit suit = Card.CLUBS;
Card card(suit);
return 0;
}
error: 'Suit' was not declared in this scope
I know this works:
#include "Card.h"
using namespace std;
int main () {
Card card(Card.CLUBS);
return 0;
}
but how do I create a variable of type Suit in another file?
Use Card::Suit
to reference the type when not inside of Card's scope. ...actually, you should be referencing the suits like that too; I'm a bit surprised that Card.CLUBS
compiles and I always thought you had to do Card::CLUBS
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With