C++ error C2664

作者&投稿:余采 (若有异议请与网页底部的电邮联系)
c++关于error c2664的~

#include
#include
#include
struct student
{
char name[20];
char xuehao[20];
float score[3];
float aver;
};
void input (student stud[],int n)
{
for (int j=0;j<n;j++)
{
cout<<"请输入第"<<j<<"个学生的三门成绩 ";
for (int i=0;i<3;i++)
cin>>stud[j].score[i]; //少了j,写错>>
cout <<endl;
}
}
void output(student stud[] ,int n)
{
cout <<setw(10)<<"姓名"<<setw(10)<<"学号"<<setw(10)<<"c++成绩"<<setw(10)<<"英语成绩"<<setw(10)<<"数学成绩"<<setw(10)<<"平均成绩";
for (int j=0;j<n;j++)
{
cout <<setw(10)<<stud[j].name<<setw(10)<<stud[j].xuehao;
for (int i=0;i<3;i++)
cout<<setw(10) <<stud[j].score[i];
cout <<endl;
}
}
void aver(student stud[],int n)
{
float sum;
for (int j=0;j<n;j++)
{
for (int i=0;i<3;i++)
sum+=stud[j].score[i];
stud[j].aver=sum/n;
}
}
void paixu (student stud[],int n)
{
for (int i=0;i<n;i++)
{
int k=i;
for (int j=k+1;j<n;j++)
if (stud[k].aver<stud[j].aver)
k=j;
if (k!=i)
{
char name[20],xuehao[20]; //写成这样
strcpy(name ,stud[k].name);
strcpy(stud[k].name,stud[i].name);
strcpy( stud[i].name,name);
strcpy (xuehao,stud[k].xuehao);
strcpy (stud[i].xuehao,stud[k].xuehao);
strcpy (stud[i].xuehao,xuehao);
for (int t=0;t<3;t++)
{
float s;
s=stud[k].score[t];
stud[k].score[t]=stud[i].score[t];
stud[i].score[t]=s;
}
}
}
}
void main()
{
void input (student stud[],int n);
void output(student stud[] ,int n);
void aver(student stud[],int n);
void paixu (student stud[],int n);
student stud[]={{"Aa","20201",0,0 ,0,0},{"Bb","20202",0,0 ,0,0},{"Cc","20203",0,0 ,0,0},{"Dd","20204",0,0 ,0,0}};
input(stud,4);
paixu(stud ,4);
output (stud ,4);
}

参数不匹配的问题. 看错误信息的话, 问题出在teacher类的change4和change5的参数类型上面.

你没有给出teacher类型的代码, 不过我猜你是参数定义反了.
void change4(int) // 修改单位
void change5(char *) // 性别

应该反一反吧, 性别是int参数, 单位是char*参数,
void change4(char*) // 修改单位
void change5(int)// 性别
这样就符合参数类型了~~

将主函数中ookup(t,n,&min,&max); 
改为ookup(t,n,min,max);
错误原因:未分清 引用和指针的区别 注意复习,引用的使用



拜泉县13248969639: c++ error C2664 -
湛苛女金: 参数不匹配的问题. 看错误信息的话, 问题出在teacher类的change4和change5的参数类型上面.你没有给出teacher类型的代码, 不过我猜你是参数定义反了.void change4(int) // 修改单位 void change5(char *) // 性别 应该反一反吧, 性别是int参数, 单位是char*参数, void change4(char*) // 修改单位 void change5(int)// 性别 这样就符合参数类型了~~

拜泉县13248969639: C++报错error C2664 -
湛苛女金: 第一个错,把第5个参数改成0试试.第二个错,返回值的定义不一至,一个是WCHAR*,一个是WORD WORD *wchr 把这个改为WCHAR* wchr 请采纳.

拜泉县13248969639: error C2664 如何解决在VC++6.0中 -
湛苛女金: 1 2 3 4 5 6 7 8putchar函数的功能是在stdout上输出单个字符. 用 法: intputchar(intch); 要实现同样效果,你的程序应该将 putchar("%c,%c\n",c1,c2);改为: putchar(c1); putchar(','); putchar(c2); putchar('\n');

拜泉县13248969639: C++提示error C2664: 'len' : cannot convert parameter 1 from 'class point' to 'class point *' -
湛苛女金: 你的错误跟复制构造函数没关系,应该填point*类型的参数,填了point而已

拜泉县13248969639: C++程序 error C2664: “float aaa(int)”: 无法将参数 1 从“int [9]”转换为“int”,求助,代码如下 -
湛苛女金: float aaa(int);这个声明错了!你定义的aaa的形式参数是int *型指针,这里声明的却是int.形参int sin[]和形参int *sin被编译器解释为同一个意思.所以得把声明float aaa(int);改成float aaa(int *);才对.i = aaa(in);这里也有问题,aaa返回的是float型,而i是int型.得把int i;改为float i;.

拜泉县13248969639: c++编译出错: error C2664: “pcap - next - ex”: 不能将参数 3 从“u - char **”转换为“const u - char **” -
湛苛女金: 你那个函数pcap_next_ex()第三个参数是 const u_char **,传参的时候 你这样传就可以了(const u_char **)&pktdata就可以了

拜泉县13248969639: 如何修正 ERROR C2664 错误 -
湛苛女金: 逻辑有没有错误我没检查 编译没问题.问题1:strcmp 的两个参数必须是 const char* ,第一个参数要取结构体中正确的变量,不能拿结构体变量做参数,第二个参数要把string字符串转了,附改后的:#include#include using namespace std; int main() { struct student {

拜泉县13248969639: C++人员类继承编译出错,error C2664 -
湛苛女金: 少一个参数,把 c1.input("李四","200305050123","四川",20,"84075612",80,90,85); 改成 c1.input("李四","200305050123","男","四川",20,"84075612",80,90,85);

拜泉县13248969639: VC++ 6.0 C语言程序中error C2664 -
湛苛女金: #include int main() { char cChar1,cChar2,cChar3,cChar4; cChar1='H'; cChar2='e'; cChar3='l'; cChar4='o'; putchar(cChar1); putchar(cChar2); putchar(cChar3); putchar(cChar3); putchar(cChar4); putchar('\n');//这里改为单引号 return 0; }

拜泉县13248969639: c++问题:error C2664: 'assign' : cannot convert parameter 1 from 'tripletable [2][3]' to 'int [][3] -
湛苛女金: 就是错了.你在主程序中定义的变量A是tripletable类型,然后在函数assign中使用了变量A.但是在这个函数assigne的定义中void assign(int A[2][3],tripletable B),你把第一个参数定义为了int型.这样,同一个函数,使用了不同的参数类型.肯定就错了.你把这个改一致就可以了.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网