2015-11-05 35 views
1

我仍然是C++的初學者,但我遇到了一些編碼問題。使用矢量調用函數

我已經定義了函數void AskMenuChoice(vector & choice,int * pIndex),但我不完全知道將它調用到Main.cpp的正確語法。

任何人都知道如何解釋這個儘可能簡單?謝謝!

回答

1

我假設你打算選擇通過參數pIndex返回的索引,在這種情況下,你需要做的是在你的調用函數中創建一個整數,並將這個變量的地址傳遞給這個函數。

std::vector<Choice> choices = /* however you're making your choices */; 
int chosen; 
AskMenuChoice(choices, &chosen); 
std::cout << "Option " << chosen << " was picked." << std::endl; 

這是有點尷尬的辦法,雖然這樣做,倒不如從AskMenuChoice代替返回值。這會將該功能的簽名更改爲int AskMenuChoice(vector& choices),並將其用於:

std::vector<Choice> choices = /* however you're making your choices */; 
int chosen = AskMenuChoice(choices); 
std::cout << "Option " << chosen << " was picked." << std::endl;