我遇到了这些错误。
colsys.f:1367.51:
1 NOLD, ALDIF, K, NCOMP, M, MSTAR, 3,DUMM,0)
1
Warning: Rank mismatch in argument 'dmval' at (1) (rank-1 and scalar)
colsys.f:814.33:
1 EALPHA, A, IPIV, INTEGS, RNORM, 0, FSUB,
1
Warning: Actual argument contains too few elements for dummy argument 'integs' (1/3) at (1)
Run Code Online (Sandbox Code Playgroud)
这里我给出了程序链接。下面提供的链接中有更多错误。我修正了一些错误。但我不知道如何附加更新的程序,因为复制和粘贴太长。
http://www4.ncsu.edu/~mtchu/Teaching/Lectures/MA581/colsys.f
任何一个
a) 在过程声明中( afunction或 a subroutine)参数dumm被定义为 1 维数组(如果您愿意,则为 1 维数组,但“rank-1”是您的编译器使用的 Fortran 术语)以及何时您的代码调用该过程并为其赋予标量值。请特别注意,标量值与仅包含一个元素的 1 级数组不同(对于参数匹配)。
或者
b)反之亦然。
无论哪种方式,过程定义中的参数与调用过程时传递的参数之间都会不匹配。
您报告的第二个错误类似,似乎当调用该过程时,它需要一个 3 元素数组,但只得到一个 1 元素数组。或类似的东西。
就我个人而言,我不倾向于点击站外链接来寻找更多需要修复的错误。