我在C++中有一個deque,我想推回從1到17的數字。我編寫了以下代碼: string Result;在C++中推倒數中的數字
string Result;
ostringstream convert;
for(int i=1; i< 18; i++){
convert >> i;
Result = convert.str();
temp.push_back(Result);
}
cout <<"temp at_"<< temp.at(16) << endl;
的問題是,temp.at(16)打印與cout: 1234567891011121314151617
和not 17
,怎麼可能增加每次只是目前我?
編輯:上面的代碼工作:
string Result;
ostringstream convert;
for(int i=1; i< 18; i++){
convert.str(std::string());
convert << i;
Result = convert.str();
temp.push_back(Result);
}
cout <<"temp at_"<< temp.at(16) << endl;
那麼,什麼是'Result',以及'convert'的類型是什麼? – juanchopanza
你可能會先在'push_back'之前加上'std :: cout << Result <<'\ n';',這樣你就可以看到你真的在推動什麼......問題將出現在'convert' ,而不是'deque'。 –
不分配轉換:'convert = i;',使用:'convert << i;' – marcinj