将结构指针传递给函数时出错“ISO C禁止转发参数去除”?

时间:2012-05-04 20:16:43

标签: c

我有以下代码,struct声明在main之前,因此是函数声明

struct stuff{
        int sale_per_day[Kdays];
        int max_sale;
        };

void set_max();

那部分到底......

void set_max(struct stuff *point; int n = 0)
{
return;
}

现在到底我做错了什么?

  

“ISO C禁止转发参数声明”

错误。我根据课程要求与GCC C89合作。

2 个答案:

答案 0 :(得分:9)

看起来它只需要一个逗号而不是分号:

void set_max(struct stuff *point, int n = 0)

答案 1 :(得分:2)

您的代码段存在一些问题:

void set_max(struct stuff *point; int n = 0)

1)您的原型与定义不符。 C通常会抱怨这个 2)你的定义包含一个分号,它应该是一个逗号 3)我认为参数列表中不允许int n = 0

请尝试以下操作。

struct stuff {
    int sale_per_day[Kdays];
    int max_sale;
};

void set_max(struct stuff *point);

void set_max(struct stuff *point)
{
    int n = 0;
    return;
}