我现在正在使用函数,目前在第3行(我的第一个括号)中出现以下错误:
“在'{'令牌之前的预期非限定ID”
我不确定这意味着什么,也无法在网上找到相关信息。有人可以解释这个错误吗?
为了防止万一,我已经提供了整个函数原型,以防万一。
感谢您的帮助
void admission(double gpa, int score);
{
if (gpa < 0.0||gpa > 4.0);
{
cout << "GPA must be between 0.0 and 4.0. Enter your GPA: ";
exit(EXIT_FAILURE);
}
else if (score < 0 || score > 100);
{
cout << "Test Score must be between 0 and 100. Enter the score: ";
exit(EXIT_FAILURE);
}
else if (gpa >= 3.6 && score >= 60);
{
cout << "The admission result is: Accepted!";
}
else if (gpa >= 3.0 && score >= 70);
{
cout << "The admission result is: Accepted!";
}
else if (gpa >= 2.6 && score >= 80);
{
cout << "The admission result is: Accepted!";
}
else if (gpa >= 2.0 && score >= 90);
{
cout << "The admission result is: Accepted!";
}
else {
cout << "The admission result is: Rejected.";
}
}
我希望该功能分别收集0-4.0和0-100之间的用户输入(gpa,得分)。然后,该功能将根据给定的输入输出是否录取学生。
使用此功能运行程序会导致上述错误。
答案 0 :(得分:2)
在C ++中,分号仅用于结束语句。每当您需要创建语句块(由{
表示)时,都无需使用分号。
例如,您的功能
void admission(double gpa, int score);
{
.... //This is a block
}
应该是:
void admission(double gpa, int score)
{
....
}
请注意,没有;
。
这不仅适用于函数,而且还适用于您的if-else
语句。
答案 1 :(得分:1)
当函数描述后跟一个分号时,它就成为函数声明,您正在定义一个函数。从第一行中删除分号。
您还在每个if语句后添加了不需要的分号,如果您的代码能够按预期运行,则也需要删除这些分号。
答案 2 :(得分:1)
删除第1行中的分号。鸣谢:评论中的@tillaert