#include<iostream>
using namespace std;
void sum(int x,int y);
void sum(int a,int b)
{
int a,b;
int sum;
cout<<"Enter Two numbers "<<endl;
cin>>a>>b;
sum=a+b;
}
int main()
{
int z=Sum(a,b)
cout<<"Sum is "<<z<<endl;
}
请告诉我我做错了什么。它给了我一些参数错误。
这里有几个问题:
- 您正在尝试呼叫不存在的
Sum
。你应该打给sum
。 - 传递给函数的值不存在。在调用函数的地方没有称为
a
或b
的变量。 - 函数被声明为不返回值(即返回类型是
void
),但你试图使用返回值。该函数应该更改为具有int
的返回类型,并且您需要return sum
。 sum
期望的参数a
和b
被称为a
和b
的局部变量遮蔽。这意味着永远不会使用参数。因为无论如何都没有要传递的东西,所以只需删除参数。
应用这些修复后,您的程序看起来像这样:
#include<iostream>
using namespace std;
int sum();
int sum()
{
int a,b;
int sum;
cout<<"Enter Two numbers "<<endl;
cin>>a>>b;
sum=a+b;
return sum;
}
int main()
{
int z=sum();
cout<<"Sum is "<<z<<endl;
}
你可以这样做,在这里学习更多关于添加函数的知识。
#include <iostream>
using namespace std;
int sum(int, int);
int main()
{
int num1, num2, x;
cout<<"Enter two integer numbers: ";
cin>>num1>>num2;
//This will call the first function
cout<<"Result: "<<sum(num1, num2)<< endl;
return 0;
}
int sum(int a, int b)
{
return a+b;
}
因为在你的函数中没有返回。如果要将结果保存在一个新变量中,则必须返回1)。或者你只是把它作为一个已经存在的变量2)
1)
int sum(int a,int b)
{
int a,b;
int sum;
cout<<"Enter Two numbers "<<endl;
cin>>a>>b;
sum=a+b;
return sum_ab;
}
void sum(int a,int b)
{
int a,b;
int sum;
cout<<"Enter Two numbers "<<endl;
cin>>a>>b;
a=a+b;
}