| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1218 人关注过本帖
标题:请问一下这个错误是什么意思
取消只看楼主 加入收藏
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
 问题点数:0 回复次数:6 
请问一下这个错误是什么意思
在用VC++编译C语言编的一个小程序时,在一个自定义函数里面我定义了一个句子,
output_message(goods[MAX])
{ int i=0,j=0,count,page=1;
~~
~~
}
然后编译的时候却有下面的错误
'<Unknown>' : function-style initializer appears to be a function definition
双击那这句话句却是指向那句:
int i=0,j=0,count,page=1;
怎么想都想不明白,我想问一下到底是什么意思!
还有就是C++里面是不是不能使用clrscr(), 我明明已经加了#include<conio.h>了还是不行,还是出现了下面这样的错误语句:'clrscr' : undeclared identifier
望各位路过的高手能不吝留下只言片语!
搜索更多相关主题的帖子: function C语言 
2006-03-02 17:32
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
得分:0 
按楼上的意思是不是把count进行初始化就行了?
可是我把count变成count=0还是一样出现那句错误啊
还是我理解错了,请说再说得详细点,谢谢!

一个来自华南师大通信工程的菜鸟,只学过一点学校教的C++和自学了一点C,大家不要笑他!哈哈……
2006-03-02 17:42
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
得分:0 

这个程序是用C编的,上面本来一开始有个
#define MAX 20
那样应该没什么问题吧?
goods[]定义的是struct类型,我是想用这个做为函数的参数


一个来自华南师大通信工程的菜鸟,只学过一点学校教的C++和自学了一点C,大家不要笑他!哈哈……
2006-03-03 00:42
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
得分:0 
按照8楼的建议我也试了一下,可是加了struct 之后,后面编译它又会出现新的问题,这个问题我已经发贴问过了,可是没人说得清!
差不多就是下面这样,很晕啊,现在!

程序的片段是这样的:
#include<stdio.h>
#include<string.h>
#define MAX 20

……
……



int sum; /*用来记录商品数目*/


/*日期结构体类型*/
struct datetime
{ int year;
int month;
int date;
};

/*商品结构体类型*/
struct goods_type
{ int num;
char name[10];
char kind[10];
int amount;
int goods_up;
int goods_down;
int in_price;
int out_price;
int in_num;
struct datetime in_time;
struct datetime pro_time;
char factory[10];
int save_day;
int profit;
}goods[MAX]; /*存放MAX种商品记录的结构体数组*/

/*输入模块*/
input_message()
{ int i=0,s=MAX;
clrscr();
printf("\n\n 录入商品信息 (最多%d种)\n",s);
printf(" -------------------------------\n");
do
{printf("\n 第%d种商品",i+1);
printf("\n 商品号:");
scanf("%d",&goods[i].num);
if(goods[i].num==0) break;
printf("\n 商品名称:");
scanf("%s",goods[i].name);
printf("\n 商品类别:");
scanf("%s",goods[i].kind);
printf("\n 商品总量:");
scanf("%d",&godds[i].amount);
printf("\n 商品上限:");
scanf("%d",&goods[i].goods_up);
printf("\n 商品下限:");
scanf("%d",&goods[i].goods_down);
printf("\n 进货价格:");
scanf("%d",&goods[i].in_price);
printf("\n 销售价格:");
scanf("%d",&goods[i].out_price);
printf("\n 进货数量:");
scanf("%d",&goods[i].in_num);
printf("\n 进货日期(yyyy-mm-dd):");
scanf("%d%d%d",&goods[i].in_time.year,&goods[i].in_time.month,&goods[i].in_time.date);
printf("\n 生产日期(yyyy-mm-dd):");
scanf("%d%d%d",%goods[i].pro_time.year,%goods[i].pro_time.month,&goods[i].pro_time.date);
printf("\n 生产厂家:");
scanf("%s",goods[i].factory);
printf("\n 保质期:");
scanf("%d",&goods[i].save_day);
i++;
}while(i<MAX);
printf("\n --%d种商品信息输入完毕!--\n",i);
sum=i;
printf("\n 按任意键返回主菜单!");
bioskey(0);
}

但是用VC++编译的时候却出现了下面这样的问题
left of '.name' must have class/struct/union type
left of '.kind' must have class/struct/union type
left of '.out_prince' must have class/struct/union type
left of '.pro_time' must have class/struct/union type
left of '.year' must have class/struct/union type
left of '.pro_time' must have class/struct/union type
left of '.month' must have class/struct/union type
left of '.pro_time' must have class/struct/union type
left of '.date' must have class/struct/union type
left of '.save_day' must have class/struct/union type
left of '.num' must have class/struct/union type
left of '.name' must have class/struct/union type


最后又换了TC2。0也是出现了点问题,改用WIN—TC才解决问题,可是我就不是很明白,VC++不是也可以用来编译C的吗?怎么会出现这样的问题呢!


一个来自华南师大通信工程的菜鸟,只学过一点学校教的C++和自学了一点C,大家不要笑他!哈哈……
2006-03-03 10:11
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
得分:0 
对不起,现在我把函数改为void input_message(struct goods_type goods[20])后上面的两个问题确实都没了,可是在函数调用时它的参数我却又不知道怎么办了!
/*统计模块*/
void count_message()
{ int choice;
do
{ clrscr();
printf("\n\n\n *********统计商品信息*********\n\n");
printf(" 1.统计某商品的利润\n\n");
printf(" 2.统计某商品的进货量\n\n");
printf(" 3.统计同种名称不同货号商品库存量\n\n");
printf(" 4.返回主菜单\n\n");
printf(" 请选择(0~3):");
scanf("%d",&choice);
switch(choice)
{ case 1: count_profit(struct goods_type goods[20]);break;
case 2:count_in_amount();break;
case 3:count_full();break;
case 0:break;
}
}while(choice!=0);
}
就是上面有个count_profit()函数,我把它写成void count_profit(struct goods_type goods[20])之后编译就说case 1那边不能没有参数,于是我也改成上面那样,可是去出现了下面这样的错误,麻烦帮我看一下
error C2144: syntax error : missing ')' before type 'goods_type'

一个来自华南师大通信工程的菜鸟,只学过一点学校教的C++和自学了一点C,大家不要笑他!哈哈……
2006-03-03 10:51
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
得分:0 

没加我试过了,它编译出来的结果还是有错误
error C2664: 'count_profit' : cannot convert parameter 1 from 'struct goods_type' to 'struct goods_type []'
好像是参数传递的时候出问题了


一个来自华南师大通信工程的菜鸟,只学过一点学校教的C++和自学了一点C,大家不要笑他!哈哈……
2006-03-03 11:29
gang
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2006-2-28
收藏
得分:0 
果然是这样,谢了!

一个来自华南师大通信工程的菜鸟,只学过一点学校教的C++和自学了一点C,大家不要笑他!哈哈……
2006-03-03 11:36
快速回复:请问一下这个错误是什么意思
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036131 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved