今天做编程作业(不要问我为什么代码这么简单,我才学C++半年多),一开始我写的代码:
#include <bits/stdc++.h>
using namespace std;
int a;
double c,d;
char e;
void plus(double j1,double j2)
{
cout<<j1+j2<<endl;
}
void minus(double j1,double j2)
{
cout<<j1-j2<<endl;
}
void times(double j1,double j2)
{
cout<<j1*j2<<endl;
}
void divz(double j1,double j2)
{
cout<<j1/j2<<endl;
}
int main()
{
cin>>a;
for (int aa=0;aa<a;aa++)
{
cin>>c>>e>>d;
switch(e)
{
case '+':plus(c,d);break;
case '-':minus(c,d);break;
case '*':times(c,d);break;
case '/':divz(c,d);break;
}
}
}
然后报错了qwq
我看了一下信息:
reference to 'plus' is ambiguous
……
……
……
……
reference to 'minus' is ambiguous
……
……
……
……
前两个函数有问题……然后我在这两个函数名后面各加了一个Z
,然后对了:
#include <bits/stdc++.h>
using namespace std;
int a;
double c,d;
char e;
void plusz(double j1,double j2)
{
cout<<j1+j2<<endl;
}
void minusz(double j1,double j2)
{
cout<<j1-j2<<endl;
}
void times(double j1,double j2)
{
cout<<j1*j2<<endl;
}
void divz(double j1,double j2)
{
cout<<j1/j2<<endl;
}
int main()
{
cin>>a;
for (int aa=0;aa<a;aa++)
{
cin>>c>>e>>d;
switch(e)
{
case '+':plusz(c,d);break;
case '-':minusz(c,d);break;
case '*':times(c,d);break;
case '/':divz(c,d);break;
}
}
}
本人实在蒻,根本不知道这是怎么回事,求大佬解决!