子程序调用出错,求助
如题:有多个子程序需要调用,别的都可以运行,唯独有一个子程序调用出错提示:错误: no function definition:ass如果单独把子程序写一个lisp调用,运行正常,然后再运行多个子程序的主程序,该错误提示就没了,请问是怎么回事?
子程序需要先加载,如果子程序在主程序内部,那么先写子程序,如果是在外部,同一个文件,一般加载主程序的时候会先加载子程序。 edata 发表于 2015-9-5 16:59 static/image/common/back.gif
子程序需要先加载,如果子程序在主程序内部,那么先写子程序,如果是在外部,同一个文件,一般加载主程序的 ...
问题已经解决,多谢指点。 本帖最后由 llsheng_73 于 2015-9-5 18:16 编辑
出现这种问题一般不外两种情况:
1.外部语句调用函数先于函数定义(这种情况在加载时就会出现问题)
(setq a(ass))
....
(defun ass()
...)
2.在范围外调用局部函数(这种情况要运行到这个地方才会出问题)
(defun c:tt()
...
(ass)
...)
(defun a(/ ass)
(defun ass()
...)
...) 楼上两位正解 ,估计楼主是没加载子程序 问题已解决多谢指点
页:
[1]