确实是这样的问题!是我没有认真细致的检查导致的,谢谢大佬们的解答!十分感谢! |
试试传入真实的数组大小。 认真检查实参数组的大小,虚参数组的大小,是否一致。比如 write(*,*) shape(tmpiSubblocks) |
十分感谢您的回答!对于接口处的数组,应该设置为传入数组的最大维度这样应该没错吧?问题在于,我在call subroutine前,输出do j = 1, NLayer 是有值的,然后 subroutine FiLLMatrix(sbtmp, untmp, atmp, amax, unmax, sbmax, cts, sbnum) 到这里sbtmp只能输出sbtmp(1,1,1)和sbtmp(2,1,1)的值,其余值为0,我实在想不明白这样为什么会出错。之前的代码是sbtmp(i,j),有值,为什么改成sbtmp(i,j,k)就出错呢? 我正尝试用假定形状传递。 |
这个不好说,需要更多的代码才好判断。 你可以检查一下 TmpiSubblocks 数组的大小,是否和子程序中 sbtmp 的一致? 尝试用假定形状传递方式? |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-4-19 20:02