错误似乎发生在第一个if语句中。我似乎无法理解为什么会发生这种情况。 if不在全局命名空间中,因为我的谷歌搜索引导我检查。
如果我没有正确发布,我会道歉但这是我的第一篇文章。
提前致谢。这可能很简单,但我目前正在学习。
#ifndef moveHare
#define moveHare
//Create new class for Hare movement roll
class moveHare
{
//Initialize variables to be used
int hareMovement = 0;
int hareRoll = rand() % 100 + 1;
private:
//if statements to compare the random int to the movement int
//Error happens at first if statement.`enter code here`
if (hareRoll > 50) {
hareMovement = hareMovement + 3;
}
else if (hareRoll > 50 && hareRoll < 71) {
hareMovement = hareMovement + 6;
}
};
#endif
答案 0 :(得分:0)
我在头文件中创建了一个新类,而不是声明一个函数。这是纠正但未完成的代码。
感谢乔治和鲍姆向我展示了一套熟练的眼睛!
#pragma once
#ifndef movement
#define movement
int moveHare() {
int hareMovement = 0;
int hareRoll = rand() % 100 + 1;
if (hareRoll > 50) {
hareMovement = hareMovement + 3;
}
else if (hareRoll > 50 && hareRoll < 71) {
hareMovement = hareMovement + 6;
}
return hareMovement;
}
#endif
答案 1 :(得分:0)
我注意到你已经解决了这个问题,但我只想提出替代解决方案。如果你想保留你在问题中声明的类,那么你可以执行以下操作来修复代码:
#ifndef moveHare
#define moveHare
//Create new class for Hare movement roll
class MoveHare
{
private:
int hareMovement = 0;
int hareRoll = rand() % 100 + 1;
public:
int MoveTheHare(void);
};
#endif
然后您可以按如下方式定义您的功能:
int MoveHare::MoveTheHare(void)
{
if (hareRoll > 50)
{
hareMovement = hareMovement + 3;
}
else if (hareRoll > 50 && hareRoll < 71)
{
hareMovement = hareMovement + 6;
}
return hareMovement;
}
我只是想把这个问题作为发布此方法的机会,即使它已经发布过了。希望这有帮助!
顺便说一句,如果我的代码或帖子中有任何错误,请在评论栏中告知我。