【发布时间】:2014-04-14 17:56:06
【问题描述】:
您好,我正在学习 c++ 和课程。出于某种原因,如果我将其注释掉其他所有运行,我就无法运行此特定功能。编辑:* 我意识到我没有显示正确的信息,但问题不是案例陈述,因为即使删除的问题仍然存在。我为 card.h 添加了整个代码
在card.h中
#ifndef _CARD_
#define _CARD_
#include <string>
class Card
{
private:
int suit;
int rank;
public:
// Default Constructor
Card();
void genRandom();
string getRank();
string getSuit();
void printCard();
bool sameCard(Card);
bool sameSuit(Card);
bool sameRank(Card);
};
#endif
在card.cpp中
string Card::getRank()
{
cout << "test";
}
我遇到了类似的错误
Card::getRank' : 重新定义;不同的基本类型
和
card.h(17):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持 default-int
card.h(17): 错误 C2146: 语法错误: 缺少';'在标识符“getRank”之前
【问题讨论】:
-
同样在
default,你应该返回一个字符串或在那里做一些事情。 -
'10'绝对不是你想要的。它是一个具有实现定义值的多字符常量。你可能想要10,而不是'10'。如果您的编译器没有警告您,我会感到惊讶。 -
错误信息引用了
getSuit,但您没有向我们展示任何定义、声明或引用getSuit的代码。问题在于您没有向我们展示的一些代码。 -
在案例 13 之后您缺少
break。 -
您对问题的编辑过多......回复不符合您问题的最新形式