7

我的程序包含一个包含两个数组成员的结构。我已将该结构称为函数参数中的 void 函数。

结构定义:

struct caketime
{
    double baking_time [4]={20,75,40,30};
    double prepare_time[4]={30,40,25,60};
};

空函数:

void prepareorder(struct caketime p) {

int i=0;
    for (i=0;i<LIMIT;i++)
    {
        if(p.prepare_time[i]==25)
            printf("Choclate");
        else if (p.prepare_time[i]==30)
            printf("Sponge Cake");
        else if (p.prepare_time[i]==45)
            printf("Meringue");
        else if (p.baking_time[i]==60)
            printf("Red_velvet");
    }
}

当我编译这个程序时,我得到下面描述的错误:

In function 'prepareorder': error: 'struct caketime' has no member named 'prepare_time'
error: 'struct caketime' has no member named 'baking_time'

这里似乎有什么问题?

4

1 回答 1

10

尝试,

struct caketime
{
   double baking_time[4];
   double prepare_time[4];  
};

代替,

struct caketime
{
   double baking_time [4]={20,75,40,30};
   double prepare_time[4]={30,40,25,60};
};

您不应初始化结构内的数组元素。

于 2013-05-28T19:04:05.930 回答