回 帖 发 新 帖 刷新版面

主题:求帮助!

Private Structure genotype
        Public gene() As Double
        Public fitness As Double
        Public upper() As Double
        Public lower() As Double
        Public rfitness As Double
        Public cfitness As Double
    End Structure

Private Sub initialize()
        Dim i, j As Integer
        Dim lbound, ubound As Double
        Dim randval As New Random


        For i = 0 To 3
            For j = 0 To 50
                genotype(j).fitness = 0

                genotype(j).rfitness = 0
                genotype(j).cfitness = 0
                genotype(j).lower(i) = lbound
                genotype(j).upper(i) = ubound
                genotype(j).gene(i) = randval.Next(genotype(j).lower(i), genotype(j).upper(i))
            Next
        Next
    End Sub

我先定义"genotype"为结构体变量,然后在下面在调用它,这样为什么是错误的?

回复列表 (共4个回复)

沙发

Dim G as genotype


然后用G```
其他的不用我说了吧

板凳

一般我喜欢用 type 呵呵

3 楼

楼主用的是VB.NET

4 楼

Private Type genotype 
    gene() As Double
    fitness As Double
    upper() As Double
    lower() As Double
    rfitness As Double
    cfitness As Double
End Structure

在上面的定义中,genotype是结构名称,为了使用这个结构,你还必须在过程中定义一个变量:
Private Sub initialize()
    Dim G(50) as genotype '看你的代码中似乎使用了数组,那么就将这个变量定义为数组吧
    Dim i  As Integer, j As Integer
    Dim lbound As Double, ubound As Double
    Dim randval As New Random

 For i = 0 To 3
     For j = 0 To 50
         G(j).fitness = 0
         G(j).rfitness = 0
         G(j).cfitness = 0
         G(j).lower(i) = lbound
         G(j).upper(i) = ubound
    ......
End sub




我来回复

您尚未登录,请登录后再回复。点此登录或注册