vs2005用c++ 创建windows窗体应用程序 怎么定义数组

private:///<summary>///必需的设计器变量。inta;///</summary>这样可以private:///<summary>///必需的设计器变量... private:
/// <summary>
/// 必需的设计器变量。
int a;
/// </summary>
这样可以

private:
/// <summary>
/// 必需的设计器变量。
int a[5];
/// </summary>
这样却不行
求解
已解决
展开
 我来答
CLiuxinliang
2010-05-25 · TA获得超过102个赞
知道答主
回答量:58
采纳率:0%
帮助的人:51.9万
展开全部
对于.net framework的windows窗体应用程序(VS2005中由C++创建的windows窗体应用程序)来说,托管的类中是不能有亮猛非托管的数组的,在托管类(由.net framework继承的类均为托管类)中应使用托管数组,即由gcnew申请的内存区域,且不需要用delete释放。由gcnew申请的内存首地址信息应保存在句柄中,而不是指针中。具体修改如下:敬者桥将int a[5];改为int ^a;然后在构造嫌兄函数中加入这句,a = gcnew int[5];即可定义一个数组,并且不需要在析构函数中释放该空间。你在试试,不行的话再问问,呵呵。
匿名用户
2010-05-25
展开全部
尝试

int *a=new int[5];

********************************************

用new分配的动态数组肢脊和自运饥顷动数组的访问方法是一样旁陆的,如:

int *a;

然后在构造函数中有如下语句:

a=new int[5];

之后,可以用a[0]=5;这样的语句对数组赋值,用a[0]这样的表达式来访问数组元素。

这样的数组应该在析构函数中加入删除语句以释放占用的空间:

delete[] a;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
singapore1234
2010-05-25 · TA获得超过380个赞
知道答主
回答量:211
采纳率:0%
帮助的人:251万
展开全部
你必须对数组初始化,改成 int a[5]={};
//或者是你直接在芦掘大括号里面赋值int a[5]={1,2,3,4,5};如果不腔缓赋值的话,系伍哗模统会默认为0。
int a[5]={1,2,3,4,5};这句代码就表示a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5。搂住可以根据需要给它们赋予不同的值,我这里只是一个简单的举例,也可以不赋值 直接int a[5]={};再根据需要 利用输入函数scanf让用户自己输入,这时候系统默认的数组里面的元素的值是0。希望可以帮到你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
D0ckLng
2010-05-25 · TA获得超过349个赞
知道答主
回答量:156
采纳率:0%
帮助的人:0
展开全部
不能在一个托管的类中混合定义一个非托管类型

在ref类中不能用数组,使用指针吧。

还有你需要明确你正在用的是.net.和不需要framework的C++程序是不一样的.你的类前面高敬空饥肯戚亏慎定有个ref的修饰

参考资料: http://zhidao.baidu.com/question/77770919.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
电子产品第一线
2010-05-25 · TA获得超过228个赞
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:237万
展开全部
不能在一个托管的类中混合定义一个非搜闹托管类型
在ref类中世尺罩不能用数组,用困段指针吧。
例如:
int *a;

void InitializeComponent{
....
this->a = new int(5);
}
然后析构函数里边写
if(this->a)
delete []this->a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式