打开网易新闻 查看精彩图片
看出问题了吗?
动图中的mFunction函数里,参数uInt和mVar均使用的默认类型,按理应该都是Variant类型。如果用TypeName函数来查看具体类型,应该取决于实参的类型。
比如:
TypeName(1&)="Long"
TypeName("abc")="String"
TypeName(1.0)="Double"
如果,不给mVar传递数据,让其使用缺省数据,其类型为Error。说明mVar为未初始化的Variant,这是符合预期的。
打开网易新闻 查看精彩图片
是不是很奇怪?很反直觉?
但是,实参都为Long类型数据1&时,uInt的类型为Integer,而mVar的类型为Long。不应该都是Long才对吗?这究竟是哪里出了问题了呢?
![欢迎讨论!](http://dingyue.ws.126.net/2022/0801/85ffed85j00rfxhnj006od000hs00dcp.jpg)
打开网易新闻 查看精彩图片
欢迎关注BtOfficer,了解更多VB/VBA技术内幕。
![](http://dingyue.ws.126.net/2022/0730/21fd6cb5j00rfu1400035d000zk00b8p.jpg)
打开网易新闻 查看精彩图片
热门跟贴