Please bear with me, I’m just learning C++.
I’m trying to write my header file (for class) and I’m running into an odd error.
cards.h:21: error: expected unqualified-id before ')' token cards.h:22: error: expected `)' before 'str' cards.h:23: error: expected `)' before 'r'
What does ‘expected unqualified-id before ‘)’ token’ mean? And what am I doing wrong?
Edit: Sorry, I didn’t post the entire code.
/* Card header file [Author] */ // NOTE: Lanugage Docs here http://www.cplusplus.com/doc/tutorial/ #define Card #define Hand #define AppError #include <string> using namespace std; // TODO: Docs here class Card { // line 17 public: enum Suit {Club, Diamond, Spade, Heart}; enum Rank {Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace}; Card(); // line 22 Card(string str); Card(Rank r, Suit s);
Edit: I’m just trying to compile the header file by itself using ‘g++ file.h’.
Edit: Closed question. My code is working now. Thanks everyone! Edit: Reopened question after reading Etiquette: Closing your posts
Your issue is your
#define. You did#define Card, so now everywhereCardis seen as a token, it will be replaced.Usually a
#define Tokenwith no additional token, as in#define Token Replacewill use the value1.Remove the
#define Card, it’s making line 22 read:1();or();, which is causing the complaint.