vs2005用c++ 创建windows窗体应用程序 怎么定义数组
private:///<summary>///必需的设计器变量。inta;///</summary>这样可以private:///<summary>///必需的设计器变量...
private:
/// <summary>
/// 必需的设计器变量。
int a;
/// </summary>
这样可以
private:
/// <summary>
/// 必需的设计器变量。
int a[5];
/// </summary>
这样却不行
求解
已解决 展开
/// <summary>
/// 必需的设计器变量。
int a;
/// </summary>
这样可以
private:
/// <summary>
/// 必需的设计器变量。
int a[5];
/// </summary>
这样却不行
求解
已解决 展开
5个回答
展开全部
对于.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;
int *a=new int[5];
********************************************
用new分配的动态数组肢脊和自运饥顷动数组的访问方法是一样旁陆的,如:
int *a;
然后在构造函数中有如下语句:
a=new int[5];
之后,可以用a[0]=5;这样的语句对数组赋值,用a[0]这样的表达式来访问数组元素。
这样的数组应该在析构函数中加入删除语句以释放占用的空间:
delete[] a;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你必须对数组初始化,改成 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。希望可以帮到你。
//或者是你直接在芦掘大括号里面赋值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。希望可以帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能在一个托管的类中混合定义一个非托管类型
在ref类中不能用数组,使用指针吧。
还有你需要明确你正在用的是.net.和不需要framework的C++程序是不一样的.你的类前面高敬空饥肯戚亏慎定有个ref的修饰
在ref类中不能用数组,使用指针吧。
还有你需要明确你正在用的是.net.和不需要framework的C++程序是不一样的.你的类前面高敬空饥肯戚亏慎定有个ref的修饰
参考资料: http://zhidao.baidu.com/question/77770919.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能在一个托管的类中混合定义一个非搜闹托管类型
在ref类中世尺罩不能用数组,用困段指针吧。
例如:
int *a;
void InitializeComponent{
....
this->a = new int(5);
}
然后析构函数里边写
if(this->a)
delete []this->a;
在ref类中世尺罩不能用数组,用困段指针吧。
例如:
int *a;
void InitializeComponent{
....
this->a = new int(5);
}
然后析构函数里边写
if(this->a)
delete []this->a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询