myfile.f90:96:26: 96 | integer, intent(in) :: n | 1 Error: Symbol at (1) is not a DUMMY variable
时间: 2024-02-15 17:27:41 浏览: 150
这个错误通常是因为在子程序中,将一个非 `DUMMY` 变量声明为了 `INTENT` 参数。
在 Fortran 中,`INTENT` 参数用于指定子程序中的变量是否可以被修改。`DUMMY` 参数是指在子程序中声明的参数,而不是在主程序中声明的变量。在子程序中,只有 `DUMMY` 参数可以被声明为 `INTENT` 参数。
因此,根据错误信息,你的代码中可能有以下情况之一:
1. 在子程序中,将一个非 `DUMMY` 变量声明为 `INTENT` 参数。你需要检查所有声明为 `INTENT` 参数的变量,确保它们是在子程序中声明的 `DUMMY` 参数。
2. 可能声明了两个相同名称的变量,其中一个是 `DUMMY` 参数,另一个不是 `DUMMY` 参数。你需要检查代码中的所有变量声明,确保没有声明相同的变量名。
在你的代码中,错误发生在第 96 行,可能是你在子程序中声明了一个非 `DUMMY` 变量为 `INTENT` 参数。你需要检查这个子程序中所有的 `INTENT` 参数,并确保它们都是在子程序中声明的 `DUMMY` 参数。
相关问题
myfile.f90:142:20: 142 | integer :: x, y, z | 1 Error: Unexpected data declaration statement at (1) myfile.f90:97:26:
这个错误通常是因为你在程序的某个位置使用了无效的语句,或者因为你在子程序中声明了一个非 `DUMMY` 变量。
根据错误信息,你的代码中可能有以下情况之一:
1. 在程序的某个位置使用了无效的语句。你需要检查代码中所有语句,确保它们都是有效的 Fortran 语句。
2. 在子程序中声明了一个非 `DUMMY` 变量。在子程序中,只有 `DUMMY` 参数可以被声明为变量。你需要检查所有在子程序中声明的变量,并确保它们都是 `DUMMY` 参数。
在你的代码中,错误发生在第 142 行,可能是因为你在程序的某个位置使用了无效的语句,或者因为你在子程序中声明了一个非 `DUMMY` 变量。你需要检查代码中第 142 行之前的所有语句,确保它们都是有效的 Fortran 语句。如果代码中存在语法错误,你需要修复这些错误。如果你在子程序中声明了一个非 `DUMMY` 变量,你需要将其声明为 `DUMMY` 参数。
93 | people.idCard => NUMBER | 1 Error: Unclassifiable statement at (1) myfile.f90:101:11: 101 | ALLOCATE(people.archiveYear(1:AGE)) | 1 Error: Allocate-object at (1) is neither a data pointer nor an allocatable variable myfile.f90:103:11:
根据错误提示,第一个错误是 "Unclassifiable statement",这通常是由于语法错误或未定义的变量引起的。请确保您的代码中所有的变量都已经定义,并且语法正确。
第二个错误是 "Allocate-object at (1) is neither a data pointer nor an allocatable variable",这通常是由于尝试分配一个非指针、非可分配变量的内存导致的。请检查您的代码中的变量类型,并确保只有可分配的变量才使用 ALLOCATE 函数进行内存分配。