重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
struct T_ChildStruct
创新互联建站制作网站网页找三站合一网站制作公司,专注于网页设计,成都网站设计、做网站,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为数千家服务,创新互联建站网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
{
int nChildData;
string strChildData;
T_ChildStruct()
{
nChildData = 0;
strChildData = ""; // string可以不用写初始化,本身构造中就有
}
};
struct T_FatherStruct
{
int nFatherData;
string strFatherData;
T_ChildStruct arrChild[10];
T_FatherStruct()
{
nFatherData = 0;
strFatherData = "";
}
};
一个简单的例子:
Dim a(3) As Integer = { 0, 1, 2 }**修改**既然有界数组不能初始化,就还缺(省)界数组试试嘛:
Dim a() As Integer = { 0, 1, 2 }
类型不匹配的错误估计是你的结构体缺少构造函数造成的。在你的quality_i结构体定义里面加一个构造函数,如下所示
Public Structure quality_i
Public nub As Integer
Public nae As String
Public Sub New(ub As Integer, ae As String)nub = ubnae = aeEnd SubEnd Structure然后以如下方式初始化:
首先你是怎么重写结构的Sub New的呢?不会有这个错误吗:“结构无法声明没有参数的非共享“Sub New”?
结构是值类型,和类不一样,不一定要有构造函数。直接
Dim B(2) As A
如果有一个含参数的Sub New(i As Integer)
Dim B() As A={New A(1), New A(2)}
有时要初始化很多个的时候可以用循环
Dim c As Integer = 50
Dim B(c) As A
For i = 0 To c
B(i) = New A(i)
Next
不过这样是对变量重新赋值,这种方法用在类上比较好。
看看这个有帮助哦: