您好,我有一点问题,如果您能告诉我如何修复它,我会很高兴。 所以我有一个这样的功能:
int* getMytree()
该函数应返回三个变量。变量定义为public。
如何返回三个参数?
答案 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 );