在VB6中的写这么一段简单的代码,为什么会报错,什么意思啊?DefStr C-FPrivate Sub Form_Load()
d$ = "321"
f = "654"
Print d + f$
End Sub错误信息为:“类型-声明字符与声明的数据类型不符合”在倒数第二行报错,我认为 d 和 f$ 不就是两个没有显示声明的变量吗?
谁能说得清楚帮一忙啦。
d$ = "321"
f = "654"
Print d + f$
End Sub错误信息为:“类型-声明字符与声明的数据类型不符合”在倒数第二行报错,我认为 d 和 f$ 不就是两个没有显示声明的变量吗?
谁能说得清楚帮一忙啦。
d$ = "321"
f = "654"
Print d + f$ '把 $ 号去掉就行了
End Sub另外不能有 Option Explicit 语句。
这些 “$,%,&,#,!,@”是变量类型的说明,相当于:
Dim C As String, D As Integer, E As Long, F As Double, H As Single, G As Currency如你的问题,没有使用 Dim 或其它关键字申明的变量为变体类型,相当于:
Dim F As Variant
这个 F 已是变体类型了,所以不能在加 $ 符号申明为 String 类型,否则必然出错。
Private Sub Command1_Click()
Me.autoRedraw = True
a="123" //这样一句系统就把a当成了变体类型
print a$ //既然已经确定是变体类型,就不能再用限定符$了,报错!
End Sub这个问题还真别说,听麻烦,不过一般自己编程,不会去任意加个什么限定符了,既麻烦又要出错。
这句的作用不是让所有变量的默认类型为 String吗?
那么没有显示声明的 f 也应该是String 啊,这和 f$ 是一样的。
以VB的命名规范来讲。最好这么做
DIM F AS STRING
DIM D AS STRING
或者是别的什么数据类型。这样做别人维护你的程序的时候也会轻松很多。
只是申明了你所有以字母C,D,E,F开头的变量如果没有指定明确的数据类型,则当String类型处理.2.
Private Sub Form_Load()
d$ = "321"
f = "654"
Print d + f$
End Sub
如果在你的程序中用了 Option Explicit 限定,则变量d,f必须定义.3. 语句 Print d + f$ "f$"应为f,因为:你没有加双引号就会当变量处理,而当变更处理时$是不
许的.