所以我有一个函数,一个被调用KaylesPosition
的类在哪里:vector<int>
piles
// Produces a key to compare itself to equivalent positions
std::string KaylesPosition::makeKey(){
std::vector<int> temp(piles.size());
for (int i = 0;i<piles.size();i++){
temp[i]=piles[i];
}
std::sort (temp.begin(),temp.end());
std::string key = "" + temp.at(0);
for (int i=1 ; i<temp.size() ; i++){
key.push_back('.');
key.push_back(temp.at(i));
}
return key;
}
我的预期输出应该是piles
按顺序排列的所有元素,用句点分隔。但是,相反,我key
以“_M_range_check”的形式返回。我已经使用 std::string.append() 尝试过这个,我得到一个空字符串或一个句点。如何让这个函数piles
按预期返回一个包含所有值的字符串?