VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 998|回复: 4

[求助] 变量定义问题出错

[复制链接]
发表于 2019-2-14 11:38:30 | 显示全部楼层 |阅读模式
第一段代码是:
  1. Function F() As String
  2.     Dim P(0 To 8) As String, I%
  3.     For I = 0 To 8
  4.        P(I) = "A" & I
  5.     Next
  6.     F = P
  7. End Function

  8. Sub DDD()
  9.    Dim C() As String
  10.    C = F
  11.    MsgBox C(2)
  12. End Sub
复制代码

第二段代码是:
  1. Function F()
  2.     Dim P(0 To 8) As String, I%
  3.     For I = 0 To 8
  4.        P(I) = "A" & I
  5.     Next
  6.     F = P
  7. End Function

  8. Sub DDD()
  9.    Dim C() As String
  10.    C = F
  11.    MsgBox C(2)
  12. End Sub
复制代码


上面两段代码,第一段比第二段多了“ as string ”, 其余都是一样的。
但第一段出错,请问是什么原因呢?

         在第一段中,如果我执意要执行过程 DDD,在不改变as string 的情况下,怎么修改代码呢?
谢谢大家,新年快乐~
发表于 2019-2-14 21:01:58 | 显示全部楼层
bruly 发表于 2019-2-14 20:48
再巩固一下请教您:
Function F() As String()    和  Function F()
上面两种定义方式,有区别吗,如 ...

有区别,第二种方式没有指定返回值类型,默认为Variant。

评分

参与人数 1威望 +10 人气 +2 收起 理由
bruly + 10 + 2 很给力

查看全部评分

回复 支持 1 反对 0

使用道具 举报

发表于 2019-2-14 13:39:08 | 显示全部楼层
声明F的返回值是一个String,但函数体内你实际让它返回的是个String数组,类型不同,当然会报错。
修改方法是将Function F() As String改成Function F() As String()。

评分

参与人数 1威望 +10 人气 +2 收起 理由
bruly + 10 + 2 太给力了,讲解透彻,学了一种定义方法,向.

查看全部评分

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-2-14 20:42:55 | 显示全部楼层
Apple_0 发表于 2019-2-14 13:39
声明F的返回值是一个String,但函数体内你实际让它返回的是个String数组,类型不同,当然会报错。
修改方 ...

太给力了,讲解透彻,我又学了一种定义方法,向您致敬!祝您新年顺利大发~!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-2-14 20:48:43 | 显示全部楼层
Apple_0 发表于 2019-2-14 13:39
声明F的返回值是一个String,但函数体内你实际让它返回的是个String数组,类型不同,当然会报错。
修改方 ...

再巩固一下请教您:
Function F() As String()    和  Function F()
上面两种定义方式,有区别吗,如果有,区别在哪呢?谢谢~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2019-7-17 18:18

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表