鱼C论坛

 找回密码
 立即注册
查看: 3882|回复: 5

程序运行错误 , 求帮助啊

[复制链接]
发表于 2013-2-3 14:05:15 | 显示全部楼层 |阅读模式
5鱼币
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <list>
  5. using namespace std;

  6. int main()
  7. {
  8.         vector<string> ivec;
  9.         list<char*> slst;
  10.         char *Str;
  11.         while(cin>>Str)
  12.         {
  13.                 slst.push_back(Str);
  14.         }
  15.         cin.clear();

  16.         ivec.assign(slst.begin() , slst.end());  //赋值
  17.        
  18.         for(vector<string>::iterator iter = ivec.begin();
  19.                                                         iter != ivec.end() ; ++iter) //输出
  20.         {
  21.                 cout<<*iter<<" ";
  22.         }

  23.         cout<<endl;
  24.         return 0;
  25. }
复制代码
我知道是第18行出错了,可是为什么错了 , 怎么改 , 求教 , 求指导

最佳答案

查看完整内容

兄弟错误的地方是用了指针,但是没有给人家分配内存空间。 修改后代码:
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-2-3 14:05:16 | 显示全部楼层
兄弟错误的地方是用了指针,但是没有给人家分配内存空间。
修改后代码:
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <list>
  5. #include <conio.h>
  6. using namespace std;

  7. int main()
  8. {
  9.         vector<string> ivec;
  10.         list<string> slst;
  11.         //char *Str=NULL;
  12.         string Str;
  13.         while(cin>>Str)
  14.         {
  15.                 slst.push_back(Str);
  16.         }
  17.         cin.clear();

  18.         ivec.assign(slst.begin() , slst.end());  //赋值

  19.         for(vector<string>::iterator iter = ivec.begin();
  20.                 iter != ivec.end() ; ++iter) //输出
  21.         {
  22.                 cout<<*iter<<" ";
  23.         }

  24.         cout<<endl;
  25.         getch();
  26.         return 0;
  27. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-3 15:08:06 | 显示全部楼层
本帖最后由 格式天下 于 2013-2-3 15:10 编辑

谢谢  ,可是还是有那个错误……你 的机子上可以运行???不会是俺滴机子坏了吧……
捕获.JPG

这是题:
2.JPG

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 15:19:31 | 显示全部楼层
那可能是你的库比较老了,我是vs10,加我qq远程帮你看看,qq:5751334
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-2-3 15:22:15 | 显示全部楼层
看错误可能是list的问题,你把list删了,直接用vector.代码:
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <list>
  5. #include <conio.h>
  6. using namespace std;

  7. int main()
  8. {
  9.         vector<string> ivec;
  10.         //list<string> slst;
  11.         //char *Str=NULL;
  12.         string Str;
  13.         while(cin>>Str)
  14.         {
  15.                 ivec.push_back(Str);
  16.         }
  17.         cin.clear();

  18.         //ivec.assign(slst.begin() , slst.end());  //赋值

  19.         for(vector<string>::iterator iter = ivec.begin();
  20.                 iter != ivec.end() ; ++iter) //输出
  21.         {
  22.                 cout<<*iter<<" ";
  23.         }

  24.         cout<<endl;
  25.         getch();
  26.         return 0;
  27. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-3 15:26:09 | 显示全部楼层
本帖最后由 格式天下 于 2013-2-3 15:32 编辑
小新110 发表于 2013-2-3 15:22
看错误可能是list的问题,你把list删了,直接用vector.代码:

这样不好吧 , 我给你的题上说必须用list的……兄台你别介意啊 , 我也是按题的要求做的……
list扔不得啊


2.JPG
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-8 13:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表