C++成精了?
  • 板块灌水区
  • 楼主CarroT1212
  • 当前回复21
  • 已保存回复21
  • 发布时间2020/7/25 19:35
  • 上次更新2023/11/6 22:17:46
查看原帖
C++成精了?
319803
CarroT1212楼主2020/7/25 19:35

今天做编程作业(不要问我为什么代码这么简单,我才学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;
	}
    }
}

本人实在蒻,根本不知道这是怎么回事,求大佬解决!

2020/7/25 19:35
加载中...