我有一個字符串的兩個向量:「二進制‘[’:沒有操作員發現
std::vector<std::string> savestring{"1", "3", "2", "4"}; // some numbers
std::vector<std::string> save2{"a", "b", "c", "d"}; // some names
我想重新排序基於前者後者,所以它最終被{"a", "c", "b", "d"}
我嘗試這樣做:
for (int i=0; i<savestring.size(); i++)
{
savestring[i] = save2[savestring[i]];
}
但我得到的錯誤:
"binary '[' : no operator found which takes a right-hand operand of type 'std::basic_string<_Elem,_Traits,_Alloc>' (or there is no acceptable conversion)"
這是什麼意思,什麼是錯我的代碼
您不能用字符串索引字符串。您必須先將字符串轉換爲數字。 –
對於未來,請閱讀[最小,完整和可驗證的示例](http://www.stackoverflow.com/help/mcve)意味着什麼。我們不應該猜測你的變量的類型,我不應該通過你的評論挖掘你的例子。 – Barry