我能够使用Intel Fortran编译器暂时在Visual Studio 2017中运行一些旧版Fortran代码运行(我可以使用调试器进行逐步调试),直到它显然无故停止工作为止。
一开始,尝试运行代码时,我得到了以下错误。
error #6633: The type of the actual argument differs from the type of the dummy argument.
安装后重新启动后,该错误消失了,我能够测试代码几周,但现在又回来了。
我认为我没有更改任何代码。
答案 0 :(得分:3)
您正在使用Intel Fortran,它具有一个称为“生成的接口检查”的功能。它的工作方式是,当您编译一个声明不在模块中的子例程或函数的源代码时,它会生成一个INTERFACE块并为其保存已编译的模块。然后,当您编译一个调用例程(尚未为其提供显式接口)的源时,它将查看是否有生成的例程并进行比较。如果参数类型不匹配,则会出现诸如此类的错误。
但是,要正常工作,必须在调用者之前编译被调用的例程。如果这种情况没有发生,则无法检查接口,并且不会收到错误消息。该错误仍然存在,并且如果您重建项目,您也许可以看到它。请注意该消息并解决它描述的问题。参数类型不匹配是造成运行时错误的常见原因。