【发布时间】:2018-02-03 19:59:49
【问题描述】:
我是 C++ 初学者,遇到以下问题:
在我的程序中,我有一个函数,我将一个固定大小的数组作为参数传递给它。我遍历它并执行一些操作。结果,我有 2 个变量 - br 和 a,我想从函数中返回它们。我创建了一对并将这些值分配给它。但是,当我运行整个程序时,编译器会抛出错误 - 无法将 std::pair 转换为 int。我想问一下为什么会这样?
#include <utility>
using namespace std;
pair <double,double> rez;
//int main() ...
double sumaf(int k[20])
{
for(int i=0; i<20; i++)
{
if(k[i]>0 && k[i]%3==0)
{
a+=k[i];
br++;
}
}
rez.first=a;
rez.second=br;
return rez;
}
【问题讨论】:
-
您声明的函数返回类型应该与实际返回类型匹配
-
你声明你的 sumaf 函数返回一个 double 而不是 std::pair
标签: c++ function return std-pair