注册 登录
编程论坛 C++教室

关于用 vector test.push_back(string[i])的问题。

shanexia 发布于 2014-05-08 17:10, 485 次点击
源代码如下。
#include<iostream>//3.13
#include<vector>
#include<cctype>
using namespace std;


int main()
{
string str;
vector<string> text;
while(getline(cin,str))
{
for(size_t i=0;i!=str.size();++i)
{
if(isalpha(str[i]))
{
text.push_back(str[i]);//问题所在。为何编译器会报错???from char to const char *
}
}
cout<<text.size()<<endl;
}
for(vector<int>::size_type ix=0;ix<text.size();++ix)
cout<<text[ix]<<endl;

return 0;
}
多谢指教!
3 回复
#2
peach54602014-05-08 17:35
text.push_back(str[i]);
参数不匹配啊...
#3
shanexia2014-05-08 18:41
回复 2 楼 peach5460
我知道参数不匹配,可以在前面加个&么?
#4
i802862014-05-09 09:31
变量类型不一样,这与&有什么关系?
vector<string> text改成vector<char> text
又或者:
{
string temp;
temp=str[i];
text.push_back(temp);
}

text到最后怎么又变成了int类型的容器?

[ 本帖最后由 i80286 于 2014-5-9 09:34 编辑 ]
1