c++的一道题显示错误为 error C2676

2024-12-26 08:32:02
推荐回答(3个)
回答1:

#include
#include
using namespace std;

typedef struct student
{
int num;
string name;
float score[3];
}stu;
void input(student &stu)
{

cin >> stu.num >> stu.name;
for (int k = 0; k < 3; k++)
cin >> stu.score[k];

}

void print(student stu)
{
cout << stu.num << " " << stu.name << " ";
for (int k = 0; k < 3; k++)
{
cout << stu.score[k] << " ";
}
cout << endl;
}

int main()
{
stu s[5];
int i;
for (i = 0; i < 5; i++)
{
input(s[i]);
print(s[i]);
}
return 0;
}

回答2:

void input(student &stu)
{
int i,k;
cin>>stu.num>>stu.name;
for(k=0;k<3;k++)
{
cin>>stu.score[k];
}
}

回答3:

编译器错误 C2676
  错误消息:
  二元“operator”:“type”不定义此运算符或到预定义运算符可接收的类型的转换
  若要使用该运算符,必须针对指定类型将其重载,或者定义一个到某个类型(该运算符已针对此类型进行了定义)的转换。
更多的编译器错误查询:
http://msdn.microsoft.com/zh-cn/library/sah8k6f4.aspx