簡體   English   中英

返回參數C ++的函數

[英]Function that returns parameters C++

您好,我有一個小問題,如果您能告訴我如何解決它,我將很高興。 所以我有一個函數是這樣的實現:

int* getMytree()

該函數應返回三個變量。 變量定義為public。

如何返回三個參數?

除了將三個變量包裝在struct

您可以返回一個std::tuple

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

然后將std::tie與您的公共變量一起使用:

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

抱歉,由於函數只能返回一個值,因此無法從函數中顯式返回三個值。 但是你可以做兩件事

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 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM