#include "stdafx.h"
#include <iostream>
#include <list>
#include <vector>
#include <string>
using namespace std;
int main()
{
char* p[]={"iwuirou","rejwbg","ehrjwhg","ehhg"};
list<char*>::iterator it,it2;//为何交换该语句和下面一条语句会无法编译?????
//也无法在下一条语句之后声明list<string>?????
list<char*> list(p,p+4);
it=list.begin();
it2=list.end();
vector<string> svec;
svec.assign(it,it2);
for(vector<string>::iterator iter=svec.begin();
iter!=svec.end();++iter)
cout<<*iter<<' ';
cout<<endl;
cout<<*(--list.end())<<endl;
cout<<*it<<endl;
return 0;
}
我使用的是visual studio 2005
问题入注释中所述
交换语句之后编译便提示严重错误阻止编译
在 list<char*> list(p,p+4);语句之后任何声明或定义
list<string>,list<char*>的变量都无效
求教高手解答C++程序问题
答案:2 悬赏:60 手机版
解决时间 2021-04-23 20:12
- 提问者网友:嘚啵嘚啵
- 2021-04-23 12:12
最佳答案
- 五星知识达人网友:英雄的欲望
- 2021-04-23 12:33
用list做变量名字,导致名字空间混乱
不要用标准库类名作变量名,尤其是完全引入std名字空间的时候,换个变量名应该就可以了
不要用标准库类名作变量名,尤其是完全引入std名字空间的时候,换个变量名应该就可以了
全部回答
- 1楼网友:孤老序
- 2021-04-23 13:26
只是无法编译吗,我的编译过去了啊,你建立的是一个什么样的工程,是不出是应为加上了#include "stdafx.h"
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯