该错误表示没有匹配的函数来调用 push_back()
。
我包括 <vector>
所以我不明白为什么会发生这个错误。如果您还可以向我展示如何接收字符串并将其存储到向量中,那将非常有帮助!
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
vector<string> list;
char input;
while(cin>>input)
{
list.push_back(input);
}
for(int i=0;list.size();i--)
{
cout<<list[99-i];
}
}
原文由 Brogrammer93 发布,翻译遵循 CC BY-SA 4.0 许可协议
Since your
list
is avector
ofstring
, pushing singlechar
s into it wouldn’t work: you should either make it achar
s 的向量,或读取string
s:Note that
list[99-i]
is rather suspicious: it will work only if thelist
has exactly99
elements, and only if you changei--
fori++
。否则,您将在访问超过向量末尾的元素或访问负索引处的元素时获得未定义的行为。如果您想从后面打印列表,请改用
list[list.size()-1-i]
,并使用i++
而不是i--
,否则循环不会停止。