英特尔Fortran错误#6633:实际参数的类型与伪参数的类型不同

时间:2014-07-20 18:56:36

标签: compiler-errors fortran

接受我的道歉可能在这里提出这样一个基本问题,我是英特尔Fortran编程的新手,所以我认为在这种情况下,我不知道有什么遗漏或错误组织。如果有人能在这方面帮助我,我将不胜感激。

问题是我在编译代码时看到以下错误,而我相信我已正确声明派生类型变量crme

error #6633: The type of the actual argument differs from the type of the dummy argument.   [CR]

error #6633: The type of the actual argument differs from the type of the dummy argument.   [ME]

我的代码包含一个名为InputData的模块,其中包含派生类型grid的定义以及类型{{1}的派生类型变量crme的声明}}。我使用grid语句在主程序中使用这些定义。该错误指的是主程序中的一行USE一个内部子程序,它使用CALLs和“me”作为输入参数(cr)。令人惊讶的是,我使用完全相同的方式在主程序中使用INTENT(IN)语句声明模块ls中定义的类型Levelset的派生类型变量OutputData,并且没有得到任何错误在同一子程序中的那个变量上。在子例程USE中添加USE InputData语句也没有解决问题。计划单位的结构如下:

ComputeLS

我尝试删除所有模块,并在主程序中包含所有类型定义和变量声明,而不是在单独的模块中。但不幸的是,错误仍然存​​在。

1 个答案:

答案 0 :(得分:1)

我认为这是一个已知的编译器错误ID DPD200250382,它已针对我们即将推出的15.0版本修复,但您的部分示例与问题描述略有不同。您使用的是我们的Windows编译器并且具有Diagnostics>检查例程接口是否已启用?如果是这样,请尝试将该选项设置为否,看看会发生什么。

如果这没有帮助,我希望看到一个完整的测试用例。