2 zhanghaodx082 zhanghaodx082 于 2016.04.11 21:04 提问

lua初学者 关于local函数的一个问题 5C

local f,g
local function f()
print("Hello f1!");
g()
end

local function g()
print("Hello g1!");
end
f()

如上,运行的时候为何会报错?实际上,我理解最开始已经声明了函数g,所以函数f中调用g的时候是应该可以找到的~
报错如下
Hello f1!
lua: localFunction.lua:4: attempt to call upvalue 'g' (a nil value)
stack traceback:
localFunction.lua:4: in function 'f'
localFunction.lua:10: in main chunk
[C]: ?

2个回答

wildwind79
wildwind79   2016.04.12 09:49

执行的时候g还未初始化。函数g的定义放前面。

zhanghaodx082
zhanghaodx082 但是在调用之前已经做了声明,难道lua语言没有声明这个概念?
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.17 23:40

关于拷贝构造函数的一个问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!