如何解决此错误“'int'之前的预期主表达式?”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决此错误“'int'之前的预期主表达式?”相关的知识,希望对你有一定的参考价值。

我是C ++的新手程序员,获得了计算机科学学位。我的作业有问题。

您需要创建一个功能char calculate_daily_sale(int [])。 您需要在main()函数中定义并读取一个长度为10的整数值数组。 编写一个函数charcalculate_daily_sale (int []),该函数接受数组作为main()函数的参数。该函数将求和数组的值。如果值大于或等于15,000,则 函数将“ y”返回主函数,否则从函数返回“ n”。

这是我设法编写的代码:

#include <iostream>

using namespace std;

char calculate_daily_sale(int[])
{
    int arr[10];
    int *ptr[10];
    int sum=0;
    for(int j=0; j<=9; j++)
    {
        ptr[j]=&arr[j];
        sum=sum+arr[j];
        cout<<sum;
    }
}

int main()
{
    int n,y;
    int arr[10];
    int *ptr[10];
    for(int i=0; i<=9; i++)
    {
        ptr[i]=&arr[i];
        cin>>*ptr[i];
    }
    if(calculate_daily_sale(int[])>=15000)
    {
        return y;
    }
    else
    {
        return n;
    }
       return 0;
}

我得到的错误是:

'int'之前的预期主要表达式

答案

您需要退后一步,学习C ++编程的基础。

您应注意的几点是:

char calculate_daily_sale(int[])

该函数的返回类型为'char',因此需要return语句。函数参数未命名且未使用。可以将其完全删除。

if(calculate_daily_sale(int[])>=15000)

调用函数时,您需要传递一个值,而不是类型'int[]'返回类型为char,因此将其与15000进行比较似乎很奇怪。

[return yreturn n

[ny未初始化。

main返回的值只是返回给运行程序的操作系统的错误代码。无论它们是什么,您似乎都不希望返回这些数字。我对规范的了解是,您需要返回'n''y'字符(“是”和“否”)from您的calculate_daily_saleto main,这就是为什么返回类型为char的原因。

另一答案

错误消息总是提及行号。这是您可以精确定位错误的方法。假设您的错误在此行中

    if(calculate_daily_sale(int[])>=15000)

您可能打算将数组arr传递给calculate_daily_sale

    if(calculate_daily_sale(arr)>=15000)

以上是关于如何解决此错误“'int'之前的预期主表达式?”的主要内容,如果未能解决你的问题,请参考以下文章

如何解决此科尔多瓦构建错误?

如何解决颤振中的 build.gradle 错误。如何解决此错误“评估项目 ':app' 时出现问题。> 格式错误的 \uxxxx 编码。”

如何解决此解码和语法错误

如何解决此错误“格式错误的 URL”?

创建项目时如何解决此错误?

如何解决此错误格式不正确(无效令牌)