作者KSJ (阿真)
看板Fortran
标题[问题] 除错 The type of the function reference does not match..
时间Mon Jul 20 15:57:56 2009
这是在用 intel fortran compiler 10.1.011时出的问题
程式码不是我写的 不过我现在需要除错 可是不知道错在哪
想请版上给点建议 也许这对你们来说是很简单的 谢谢
除错的讯息
Error: The type of the function reference does not match the
type of the function definition. [UVFINIT]
[]内是function的名字 uvfInit
就我理解
"function reference的型态 与 function definition的型态不符"
我自己翻译完也知道没有多少帮助…
想请问是否:
function definition类似如下:
FUNCTION f(x,y,z)
REAL f,x,y,z
这样的写法
而function reference就是指使用的时候吗??
ex.
REAL result
result=f(x,y,z)
以上的"型态错误"不知道是怎麽样发生的
希望有人能帮忙
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.63.180
1F:推 laa7352:f,x,y,z在主程式里有宣告吗? 07/20 18:45
2F:→ KSJ:主程式不在这档案里面 这好像是写lib的专业 07/20 21:18
3F:→ KSJ:f x y z 是在function中宣告的 07/20 21:18
4F:→ KSJ: 案 07/20 21:19
5F:推 yangzi:所有格式都对应正确吗~X Y Z F RESULT 07/21 08:36
在程式码(是一个副程式)中使用是这一句
dummy=uvfInit(softPdfType,Nl,Limi,Prob,C,Mean,As,bs,p)
会写成函式又要它传回垃圾只是因为後来的程式要输入这个uvf"函数"而非"副程式"
ps.uvf是函数 uvfInit是uvf中的一个entry 可用做初始计算之类的作用
ENTRY uvfInit(softPdfType,Nl,Limi,Prob,C,Mean,As,bs,p)
这句是entry
格式正确对应是指? 我目前观察 个数都对
但我不清楚还有哪些东西属於我complie出错误讯息的部份
所以除错起来非常困难...
还有变数型态
这个副程式里的变数
INTEGER softPdfType, Nl
DOUBLE PRECISION Limi(*), Prob(*), C, Mean, As, bs, p
这是函数uvf里的变数
DOUBLE PRECISION uvfInit
INTEGER softPdfType, Nl
DOUBLE PRECISION Limi(*), Prob(*), C, Mean, As, bs, p
ps.其它跟uvfInit没关系(没用到)的变数没有列在里面
看起来表面上也都相同
有一些些差别是 Limi 跟 Prob 宣告时有 (*)
使用时便没有
不知道是不是这个关系
※ 编辑: KSJ 来自: 140.112.63.180 (07/21 13:24)