我使用C++和我有2個矢量,一個彼此相關:C++爲MAX的搜索矢量,並獲得相同的位置形成第二矢量
vector<double> val = {.3,.5,.2,.4};
vector<string> str = {'a','b','c','d'};
我想搜索VAL爲最大,然後從STR在相同的位置返回字符串:
vector<double>::const_iterator it;
it = max_element(val.begin(), val.end());
所以,我怎麼能使用it
內str
把信?
string lettter;
letter = str.at(it-> ?????);
謝謝!
我看到一個錯誤,說「沒有函數模板std :: distance的實例匹配參數列表」------我試過'str [std :: distance(std :: begin(val),* it)] '同樣的東西 – KevinCameron1337
@ Special - k我認爲你的問題是'it'是'const_iterator',而'std :: begin'則給出'iterator'。不幸的是,沒有'std :: cbegin'(標準中的疏忽)。你可以使'it'成爲'iterator'或者自己實現'cbegin'。或者你可以使用'val.cbegin()'而不是'std :: begin(val)'。 –