将“ByRef”参数“<parametername>”的值复制回匹配参数时,发生从“<typename1>”到“<typename2>”的隐式转换。
更新:2007 年 11 月
使用类型与其对应参数类型不同的 ByRef 变量调用了过程。
如果传递参数 ByRef,Visual Basic 有时会将参数值复制到过程中的本地变量,而不是传递引用。在这种情况下,当过程返回时,Visual Basic 必须随即将局部变量值复制回调用代码中的参数。
如果将 ByRef 变量值复制到了过程,并且变量和参数的类型相同,则不必进行转换。但是,如果类型不同,则 Visual Basic 必须进行双向转换。由于无法在过程变量或参数上使用 CType 或任何其他转换关键字,因此,此类转换始终是隐式的。
默认情况下,此消息是一个警告。有关隐藏警告或将警告视为错误的信息,请参见 在 Visual Basic 中配置警告。
**错误 ID:**BC41999
更正此错误
如有可能,请使用类型与过程参数相同的调用变量,这样 Visual Basic 就无需进行任何转换。
如果需要使用与参数类型不同的变量类型来调用过程,但无需将值返回到调用变量,请将参数定义为 ByVal,而不是 ByRef。