fenhanxue 发表于 2017-5-6 22:41:41

关于 Global 的困惑 【已解决】

本帖最后由 fenhanxue 于 2017-5-7 01:03 编辑

上代码:a()
MsgBox(0,'',$b)

Func a()
        Global $b = 2
EndFunc运行结果出错,提示为:

warning: $b: 使用前并未进行声明.

请问这是为什么,$b我不是已经在func a 里面声明过了么

另外,这样的代码则不会出错:a()
c()


Func a()
        Global $b = 2
EndFunc


Func c()
       
        MsgBox(0,'',$b)
EndFunc

afan 发表于 2017-5-6 23:22:21

查错不会那么严谨只是按出场顺序判断语法是否有误
不查错运行不会有问题

kk_lee69 发表于 2017-5-7 00:13:07

回复 1# fenhanxue

我用舊版的 V3.3.8即使我使用新版的我還是會用 舊版的 編輯器

因為我不喜歡 新版的 檢查 功能

理論上 你遇到的是編輯器自動幫你檢查然後 出現錯誤訊息沒讓你跑

你直接編譯應該還是可以 RUN

fenhanxue 发表于 2017-5-7 01:03:35

回复 3# kk_lee69


    我的编辑器貌似是v 3.3.6的,更老。。。

编译后的确是可以正常运行的,还以为自己对 Global 的用法理解错误了呢

heroxianf 发表于 2017-5-7 01:23:04

回复 3# kk_lee69


    kk你用的是au3哪个版本?

xzf680 发表于 2017-5-7 06:25:12

觉得还是顺序问题,声明在前是没问题的!


Global $b = 2
a()

Func a()
    MsgBox(0,'',$b)   
EndFunc

fenhanxue 发表于 2017-5-7 09:12:00

回复 6# xzf680


    你这个顺序自然是没问题的。你这个是最原始的写法。
页: [1]
查看完整版本: 关于 Global 的困惑 【已解决】