VB.NET模块变量赋值触发BC30188错误:声明预期,求助解决
VB.NET模块共享变量初始化报错BC30188的解决办法
你遇到的BC30188错误,核心原因是模块的顶层代码区域只能放置成员声明语句,不能直接写执行类代码。你写的frontPointer = 1属于赋值执行语句,不能直接放在模块变量声明的下方,必须放到过程(比如Sub Main或自定义初始化过程)内部。
修正方案1:在入口过程中初始化变量
不管用Public还是Dim声明模块变量,都把赋值语句移到Sub Main中执行:
Module Module1 Public queue(10) As Integer Public frontPointer As Integer Public endPointer As Integer Public full As Integer Public length As Integer Sub Main() ' 在这里完成变量初始化 frontPointer = 1 ' 其他需要初始化的变量也可在此赋值 End Sub End Module
修正方案2:声明变量时直接初始化
如果希望变量在模块加载时就完成初始化,可以直接在声明语句后赋值,这是VB.NET允许的合法写法:
Module Module1 Public queue(10) As Integer Public frontPointer As Integer = 1 ' 声明时直接完成初始化 Public endPointer As Integer Public full As Integer Public length As Integer Sub Main() ' 后续业务代码 End Sub End Module
内容的提问来源于stack exchange,提问作者Hafsah Nasir
相关产品推荐
相关产品推荐

