请问VB对下面的代码为什么会报“向前引用用户自定义类型”?
Public Type department
name As String '名称,如门市
id As String '唯一标识
End TypePublic dpt As department'得到部门
Public Function Get_Dpt(Optional ByRef dpt As department = dpt)
dpt.name = "门市"
dpt.id = "et"
Get_Dpt = dpt.id '默认返回部门唯一标识ID
End Function谢谢!
Public Type department
name As String '名称,如门市
id As String '唯一标识
End TypePublic dpt As department'得到部门
Public Function Get_Dpt(Optional ByRef dpt As department = dpt)
dpt.name = "门市"
dpt.id = "et"
Get_Dpt = dpt.id '默认返回部门唯一标识ID
End Function谢谢!
你换成下面的定义就会报编译错误“Constant expression required”
Public dpt As long
Public Function Get_Dpt(Optional ByRef dpt As long = dpt)你的第二的错误是在私有类的 Public 方法中不能用 UDT。应该将 Public 更改为 friend ,UDT 定义到模块中