请忍受我,我只是在学习C++.
我正在尝试编写我的头文件(对于类),我遇到了一个奇怪的错误.
cards.h:21: error: expected unqualified-id before ')' token
cards.h:22: error: expected `)' before "str"
cards.h:23: error: expected `)' before "r"
Run Code Online (Sandbox Code Playgroud)
"期望不合格的身份"之前的'令牌'是什么意思?我做错了什么?
编辑:对不起,我没有发布整个代码.
/*
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);
Run Code Online (Sandbox Code Playgroud)
编辑:我只是尝试使用"g ++ file.h"自行编译头文件.
dav*_*pcj 13
你的问题是你的#define
.你做了#define Card
,所以现在到处Card
都被视为一个标记,它将被替换.
通常#define Token
没有额外的令牌,因为#define Token Replace
将使用该值1
.
删除#define Card
,它正在使第22行读取:1();
或者();
,这引起了投诉.