Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 从';国际(*)(国际)和#x27;至';int';_C++ - Fatal编程技术网

C++ 从';国际(*)(国际)和#x27;至';int';

C++ 从';国际(*)(国际)和#x27;至';int';,c++,C++,有人能解释一下为什么我在返回somatorio时收到这个警告吗在第24行 从“int(*)(int)”到“int”的转换无效 #包括 使用名称空间std; 内部躯体(内部躯体){ 胞体+=胞体; 返回体; } 国际旅行社(国际n){ 如果(n==0) 返回1; 其他的 回报率(n*n-1); } int combinacao(int num){ int k=1; while(knum; 在intcombinaco(intnum)中,您有返回somatorio; 基于函数签名,您必须返回一个整数。

有人能解释一下为什么我在返回somatorio时收到这个警告吗在第24行

从“int(*)(int)”到“int”的转换无效

#包括
使用名称空间std;
内部躯体(内部躯体){
胞体+=胞体;
返回体;
}
国际旅行社(国际n){
如果(n==0)
返回1;
其他的
回报率(n*n-1);
}
int combinacao(int num){
int k=1;
while(knum;
在
intcombinaco(intnum)
中,您有
返回somatorio;


基于函数签名,您必须返回一个整数。但是
somatorio
是一个函数,它接受
int
并返回
int
int(*)(int)
),它本身不是
int

我假设你想计算二项式系数之和,对吗?在这种情况下,我可以告诉你,你提供的求和系数的方法不会像预期的那样起作用。事实上,你只需将每个值乘以2,而不会保存结果


如果要对值进行求和,必须定义一个变量来存储求和,将系数添加到此变量,然后返回存储在此变量中的值。

请不要在问题中添加填充文本以绕过系统要求。这些要求是有原因的;在这种情况下,添加警告文本,您需要设置。只需将
int-combinaco(int-num)
的签名更改为
auto-combinaco(int-num)->int(*)(int)
,您就可以开始了。
somatorio
是一个函数,而不是一个数字。因为您编写了
int-combinaco
,所以它应该返回一个数字,而不是一个函数。在该函数中
int-combinaco(int-num)
您有
somatorio(combinacao);
计算一个值,然后将结果扔掉。我不确定您是否要对所有这些结果求和,或者是什么。如何将结果存储在变量中?解决方案是什么?@VictoriaMoraes这取决于您希望代码做什么,您没有真正解释。我需要这些结果的和combinations@VictoriaMoraes有一个代码中有很多奇怪的东西。我想警告并不是你代码中唯一的错误。但是,在你说出它应该做什么之前,任何人都很难提出任何建议。只是编辑了我的答案。我希望你现在能更清楚地知道你要做什么。
#include <iostream>

using namespace std;

int somatorio(int soma){
    soma+=soma;
    return soma;
}

int fatorial (int n){
    if (n==0)
        return 1;
    else 
        return (n * fatorial (n-1));
}
        
int combinacao(int num){
    int k = 1;
    while(k<=num){
    int combinacao = (fatorial(num)) / ((fatorial(k)) * (fatorial(num - k)));
    somatorio (combinacao);
    k++;
    }
    return somatorio;  // <-- Warning here
}

int main()
{
    int num;
    cin>>num;
    cout<<combinacao(num)<<endl;
    return 0;
}