永发信息网

linux下的g++编译c++问题,请高手解决

答案:4  悬赏:20  手机版
解决时间 2021-03-19 04:07
  • 提问者网友:眉目添风霜
  • 2021-03-19 00:47
#include
#include
using std::cout;
using std::endl;
using std::vector;
using std::vector::iterator;

int main()
{
vector container;
for(int i=1;i<=4;i++)
container.push_back(i);
cout<<"here is what is in the container:\n";
iterator p;
for(p=container.begin();p!=container.end();p++)
cout<<*p<<" ";
cout<
cout<<"setting entries to 0:\n";
for(p=container.begin();p!=container.end();p++)
*p=0;

cout<<"contanier now contains:\n";
for(p=container.begin();p!=container.end();p++)
cout<<*p<<" ";
cout< return 0;
}
此代码在linux下编译不成功,但是用vc++却可以编译通过。
在linux下编译时总是出现
error:'std::vector >'is not a namespace





最佳答案
  • 五星知识达人网友:想偏头吻你
  • 2021-03-19 01:43
#include
#include
using std::cout;
using std::endl;
using std::vector;

int main()
{
vector container;
for(int i=1;i<=4;i++)
container.push_back(i);
cout<<"here is what is in the container:\n";
vector::iterator p;
for(p=container.begin();p!=container.end();p++)
cout<<*p<<" ";
cout<
cout<<"setting entries to 0:\n";
for(p=container.begin();p!=container.end();p++)
*p=0;

cout<<"contanier now contains:\n";
for(p=container.begin();p!=container.end();p++)
cout<<*p<<" ";
cout< return 0;
}
全部回答
  • 1楼网友:不想翻身的咸鱼
  • 2021-03-19 05:09
你好! 上述代码中出现的问题是: using std::vector::iterator; 这是因为在头文件vector中根本就没有一个"vector::iterator"的类型, 只有: template vector::iterator; 所以建议你将该行去掉吧! 打字不易,采纳哦!
  • 2楼网友:山河有幸埋战骨
  • 2021-03-19 04:04
仔细看看编译环境
  • 3楼网友:鸽屿
  • 2021-03-19 02:34
这是一个g++命令用法问题,用vc++可以编译通过,g++也应该可以,但是你g++后面加的命令有些不支持吧
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯