1
我仍然是C++的初學者,但我遇到了一些編碼問題。使用矢量調用函數
我已經定義了函數void AskMenuChoice(vector & choice,int * pIndex),但我不完全知道將它調用到Main.cpp的正確語法。
任何人都知道如何解釋這個儘可能簡單?謝謝!
我仍然是C++的初學者,但我遇到了一些編碼問題。使用矢量調用函數
我已經定義了函數void AskMenuChoice(vector & choice,int * pIndex),但我不完全知道將它調用到Main.cpp的正確語法。
任何人都知道如何解釋這個儘可能簡單?謝謝!
我假設你打算選擇通過參數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;