返回参数C ++的函数

时间:2014-11-02 14:20:26

标签: c++

您好,我有一点问题,如果您能告诉我如何修复它,我会很高兴。 所以我有一个这样的功能:

int* getMytree()

该函数应返回三个变量。变量定义为public。

如何返回三个参数?

2 个答案:

答案 0 :(得分:5)

除了在struct

中包装三个变量

您可以返回std::tuple

std::tuple<int, int, int> getMytree(int id)
{
   // ....
   // a= , b= c=
   return std::make_tuple( a,b,c );
}

然后将std::tie public 变量一起使用:

 std::tie( var1, var2, var3 ) = getMytree() ;

答案 1 :(得分:2)

很抱歉,无法从函数中显式返回三个值,因为函数只能返回一个值。但是你可以做两件事

1)在结构中封装这三个参数,然后使函数返回该结构。

struct Book
{
int pages;
std::string name;
std::string author
};

Book myFunc ();  // This example is just for simplicity.

2)更简单地将指针/引用传递给您希望函数更改的三个参数。

void myFunc ( int& page, std::string &name, std::string &author );