C++ 不管数字是多少,总和都是1

C++ 不管数字是多少,总和都是1,c++,function,sum,C++,Function,Sum,在最后一个cout语句中使用cal_sum,不管输入的值如何,都会得到1作为输出。当在cout语句中输入x+y代替calu_sum时,我得到了正确的答案。为什么 #include<iostream> using namespace std; //sum of 2 numbers. int cal_sum(int a,int b) { int sum; sum=a+b; return sum; } int main() { int x,y;

在最后一个cout语句中使用cal_sum,不管输入的值如何,都会得到1作为输出。当在cout语句中输入x+y代替calu_sum时,我得到了正确的答案。为什么

#include<iostream>
using namespace std;
 //sum of 2 numbers.
 int cal_sum(int a,int b)
 {
     int sum;
     sum=a+b;
     return sum;
 }
int main()
{
    int x,y;
    cout<<"enetr any 2 no\n";
    cin>>x;
    cin>>y;
    cal_sum(x,y);
    cout<<"sum ="<<cal_sum;
}
#包括
使用名称空间std;
//两个数之和。
积分和(积分a,积分b)
{
整数和;
总和=a+b;
回报金额;
}
int main()
{
int x,y;
coutx;
cin>>y;
计算和(x,y);

cout您正在打印
calu sum
本身,而您应该打印
calu sum(x,y)

#包括
//两个数之和。
积分和(积分a,积分b)
{
返回a+b;
}
int main()
{
int x,y;
std::cout>x;
标准:cin>>y;

std::cout当调用
cal\u sum
时,其返回值需要存储在某个地方,例如在一个新变量中。
int result=cal\u sum(x,y)
。然后您可以在
cout投票中使用
result
作为变量,以键入方式结束。
cal\u sum(x,y);coutSet高编译器警告级别。我得到
。/main.cpp:17:20:警告:“int-cal_-sum(int,int)”的地址将始终计算为“true”[-Waddress]
对于this code.fwiw,有一些重载将函数指针作为parameters@idclev463035818你确定吗?我可以重载函数指针,将
std::basic_ostream
作为参数。也可以重载
void*
,但这与函数指针不兼容。编译器还将警告你指向bool的指针是的,这是特定类型的函数指针,但是你写了“没有重载…它接受函数”