寻找指导:在C ++中使用函数时出错

时间:2019-04-19 06:02:57

标签: c++

我现在正在使用函数,目前在第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,得分)。然后,该功能将根据给定的输入输出是否录取学生。

使用此功能运行程序会导致上述错误。

3 个答案:

答案 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