如何从两个不同的函数传递参数

时间:2020-06-11 15:46:35

标签: c++

我有一个基本问题:

有一个可以接受六个参数的函数:

 void dataSlot(double val1, double val2, double val3, double val4, double val5, double val6);

如何同时从两个不同的函数传递这些参数?

void functionOne()
{

// val1, val2 and val3 from functionOne


}

void functionTwo()
{

// val4, val5 and val6 from functionTwo


}

3 个答案:

答案 0 :(得分:2)

返回每个函数产生的值,并在拥有所有值时使用它们:

#include <array>

std::array<double, 3> functionOne()
{
    // ...
    return {val1, val2, val3};
}

std::array<double, 3> functionTwo()
{
    // ...
    return {val4, val5, val6};
}

void overallFunction()
{
    auto firstThree = functionOne();
    auto lastThree = functionTwo();
    dataSlot(firstThree[0], firstThree[1], firstThree[2], lastThree[0], lastThree[1], lastThree[2]);
}

答案 1 :(得分:0)

在文件中创建变量,然后从第一个空位开始对其进行设置;

double v1, v2, v3....;

void dataSlot(double val1, double val2, double val3....) {
    v1 = val1;
    v2 = val2;
    v3 = val3;
    ....
}

然后您可以在任何地方使用v1 v2和v3。

答案 2 :(得分:0)

您可以尝试添加到您的fnc:void functionOne(double val1,double val2,double val3){do smthng} void functionTwo(double val4,double val5,double val6){do smthng} 并从void dataSlot(){functionOne(1,2,3); functionTwo(4,5,6)}

开始