回 帖 发 新 帖 刷新版面

主题:请问这是什麽?

学习随机文件,编个小程序,第一行就出现错误提示,搞不懂,求教!提示如下:
     hilp:Duplicate defin ition
You are attempting to create a new element in your program and have given it a name that is already being used.
For example:
 . A CONST statement uses the same neme as an existing variable .
  . A NEW variable or procedure hac the same name as an existing procedure.
  starting a variable name with letters "FN" is another way to generate this error,because FN is used exclusively with DEF FN.
   

回复列表 (共10个回复)

沙发

不要重复定义变量
变量或函数别要用FN开头

板凳

应该就是重复定义了一个已经存在的变量吧,比如重复定义了文件名字符串写入操作??

3 楼

多次受二位恩公帮助,无以为报,祝好人平安。
我细想,重复的定义的只有另外的学习小程序中的域名,难道两个BAS文件不是完全独 立的吗?

4 楼

是完全独立但是你是不是有两个程序相互调用的关系?
qbasic里默认所有变量都是全局变量
就会出现跨程序重定义的状况了

5 楼

我把其他文件都删了,依然不行,实在搞不懂了,我把程序抄下,请费心看看问题出在那?
TYPE ccc
xu AS INTEGER
qihao AS INTEGER
h1 AS INTEGER
h2 AS INTEGER
lan AS INTEGER
END TYPE
DIM sj AS ccc
OPEN "ccc.dat" FOR RANDOM AS #1 LEN=10
DO WHILE qihao=9999
xu% = xu% + 1
INPUT "qihao";qihao% 
INPUT "h1"; h1%
INPUT "h2"; h2%
INPUT "lan" ;lan%
PUT #1 ,xu, ccc
LOOP 
CLOSE
END

6 楼

真象大白!原来我在原程序右下方,不知不觉的写了个几乎一样的程序,这两个程序互相看不见,是重复定义,重复到家了。

7 楼

[quote]qbasic里默认所有变量都是全局变量
就会出现跨程序重定义的状况了[/quote]
恰恰相反,只要函数名不同,变量名不另定义成全局结构或者比较特殊的使用就可以了,
有时候不重复定义,不同结构中也无法传递值,就算重复定义了,也未必能全局传递,
最好还是用参数来传递比较稳妥.

8 楼

[quote]真象大白!原来我在原程序右下方,不知不觉的写了个几乎一样的程序,这两个程序互相看不见,是重复定义,重复到家了。[/quote]
怎么做到的……

9 楼

如果试过用鼠标粘贴到DOS窗口的就知道了.

10 楼

omg确实长见识了

我来回复

您尚未登录,请登录后再回复。点此登录或注册