| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 897 人关注过本帖
标题:有关容器问题
只看楼主 加入收藏
tfg0116
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-9
收藏
 问题点数:0 回复次数:5 
有关容器问题
#include<iostream>
#include<list>
#include<vector>
 
using namespace std;
 
int main()
{
    char *sa[] = {"tianfuguo", "lijing", "liufeng", "zhaoqian", "liuyingna"};
    list<char*> clst(sa, sa + 5);
    vector<string> svec;
    svec.assign(clst.begin(), clst.end());
    for(list<char*>::iterator lit = clst.begin();
        lit != clst.end(); ++lit)
            cout<<*lit<<'\t';
        cout<<endl;
        for(vector<string>::iterator vit = svec.begin();
            vit != svec.end(); ++vit)
                cout<<*vit<<'\t';
            cout<<endl;
            return 0;
}
这段程序中为什么svec.assign(clst.begin(), clst.end());这句错了啊? 应该如何修改。
一下是错误信息
Compiling...
lianxi8cpp.cpp
D:\vc++\MSDev98\MyProjects\lianxi8cpp\lianxi8cpp.cpp(158) : error C2664: 'void __thiscallstd::vector<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::allocator<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > >::assign(const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *)' : cannot convert parameter 1 from 'class std::list<char *,class std::allocator<char *> >::iterator' to 'const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > *'
        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Error executing cl.exe.

lianxi8cpp.obj - 1 error(s), 0 warning(s)
搜索更多相关主题的帖子: 容器 
2008-10-24 16:11
很远的那颗星
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2008-6-30
收藏
得分:0 
楼主用VC6编译器?????

Fighting~~~~~~~~
2008-10-24 20:46
很远的那颗星
Rank: 2
等 级:新手上路
威 望:4
帖 子:544
专家分:0
注 册:2008-6-30
收藏
得分:0 
我的编译器GCC通过...

Fighting~~~~~~~~
2008-10-24 20:47
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
#include<iostream>
#include<list>
#include<vector>

using namespace std;

int main()
{
    char *sa[] = {"tianfuguo", "lijing", "liufeng", "zhaoqian", "liuyingna"};
    list<char*> clst(sa, sa + 5);
    vector<string> svec;
    svec.assign(clst.begin(), clst.end());
    for(list<char*>::iterator lit = clst.begin(); lit != clst.end(); ++lit)
        cout<<*lit<<'\t';
        cout<<endl;
    for(vector<string>::iterator vit = svec.begin(); vit != svec.end(); ++vit)
        cout<<(*vit).c_str()<<'\t';
        cout<<endl;
        system("pause");
        return 0;
}

学习需要安静。。海盗要重新来过。。
2008-10-24 21:01
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
注意string类输出是要转换成指针的

学习需要安静。。海盗要重新来过。。
2008-10-24 21:02
tfg0116
Rank: 1
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-10-9
收藏
得分:0 
回复 2# 很远的那颗星 的帖子
恩,是的,gcc编译器得在unix系统中装吧
2008-10-25 20:43
快速回复:有关容器问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016069 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved