C++关于数组和类模板对象的问题

今天看了C++关于数组和类模板的关系,想区别一下,编写代码将一个数组赋给另一个数组然后把这段代码改用vector实现.程序编译时提示模板类型变量vessel未定义,可在程... 今天看了C++关于数组和类模板的关系,想区别一下,编写代码将一个数组赋给另一个数组然后把这段代码改用vector实现.
程序编译时提示模板类型变量vessel未定义,可在程序中已经有了该变量的定义,请大家帮我看一下问题出在哪里
代码如下:
#include<iostream>
#include<vector>
#include<cctype>
#include<cstddef>
#include<iterator>
using namespace std;
int main()
{
const size_t array_size=10;
int a[array_size],b[array_size],i;
cout<<"Please enter 1 to use array style or enter 2 to use vector style!";
cin>>i;
if(i==1)
{
cout<<"Please enter ten integers to initialization the a[]"<<endl;
for(size_t index=0;index!=array_size;index++)
{
cin>>a[index];
b[index]=a[index];
}
for(size_t ix=0;ix!=array_size;ix++)
cout<<b[ix]<<" ";
cout<<endl;
}
//===========================================================================================================================
else if(i==2)
vector<int> vessel;
int integer;
cout<<"Please enter the array elements:"<<endl;
for(vector<int>::size_type index=0;index!=array_size;index++)
{
cin>>integer;
vessel.push_back(integer);
}
for(vector<int>::iterator iter=vessel.begin();iter!=vessel.end();iter++)
{
cout<<*iter<<" ";
cout<<endl;
}
return 0;
}
展开
 我来答
heresy_me
2011-09-14 · TA获得超过1719个赞
知道小有建树答主
回答量:1708
采纳率:42%
帮助的人:359万
展开全部
else if ( i == 2 ) vector<int> vessel;
其实等于
else if ( i == 2 ) { vector<int> vessel; }
故在 { } 结束之后在 { } 里构建的对象会按照构建的顺序的相反顺序来析构掉,这样的话vessel就会被析构了,不要因为少了一对 { } 号就忘记了这个。
凌云紫冥
2011-09-14 · TA获得超过215个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:230万
展开全部
else if(i==2)
vector<int> vessel;
就是这句话 你把vessel限制在这个if里面了 出了这个语句 vessel就被释放了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱的顽童
2011-09-14
知道答主
回答量:4
采纳率:0%
帮助的人:6539
展开全部
不太清楚哦!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-14
展开全部
。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式