Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pointers 从具有nagfor的函数返回的过程指针_Pointers_Fortran_Procedure_Fortran2003_Nag Fortran - Fatal编程技术网

Pointers 从具有nagfor的函数返回的过程指针

Pointers 从具有nagfor的函数返回的过程指针,pointers,fortran,procedure,fortran2003,nag-fortran,Pointers,Fortran,Procedure,Fortran2003,Nag Fortran,我尝试使用过程指针作为Fortran中函数的返回。以下最低限度的代码适用于gfortran(使用4.8.1测试),但不适用于nagfor(NAG 6.0): 对于以下投诉: Error: test.f90, line 5: Multiply defined symbol F_P detected at ::@F_P Error: test.f90, line 5: F_P is not a procedure name detected at F_P@<end-of-state

我尝试使用过程指针作为Fortran中函数的返回。以下最低限度的代码适用于gfortran(使用4.8.1测试),但不适用于nagfor(NAG 6.0):

对于以下投诉:

Error: test.f90, line 5: Multiply defined symbol F_P
   detected at ::@F_P
Error: test.f90, line 5: F_P is not a procedure name
   detected at F_P@<end-of-statement>
Warning: test.f90, line 7: Result F_P of function FOO has not been assigned a value
[NAG Fortran Compiler pass 1 error termination, 2 errors, 1 warning]
错误:test.f90,第5行:乘法定义符号F\u P
在以下位置检测到::@F_P
错误:test.f90,第5行:F_P不是过程名称
在F_P检测到@
警告:test.f90,第7行:未为函数FOO的结果F_P赋值
[NAG Fortran编译器传递1个错误终止,2个错误,1个警告]
为什么会这样


注意:我非常清楚以这种方式使用过程指针时内存泄漏的危险。

我使用NAG Fortran编译器,我可以确认它尚未实现Fortran 2003的这一功能(返回过程指针的函数)。
对该功能的支持暂定在下一个(6.1)版本中发布。

我看不到任何内存泄漏的可能性。我猜这是Fortran 2003在该编译器中尚未实现的功能,但让我们等待一段时间,以了解更多有知识的语言律师。是的,在上面的示例中,确实没有内存泄漏的可能性。;-)谢谢你的评论(也在下面)。现在6.1已经发布了(很长),你能确认这是有效的吗?[我可以自己试试,但如果你愿意…]不,对不起。我们甚至将此延迟到当前的开发6.2之外。
Error: test.f90, line 5: Multiply defined symbol F_P
   detected at ::@F_P
Error: test.f90, line 5: F_P is not a procedure name
   detected at F_P@<end-of-statement>
Warning: test.f90, line 7: Result F_P of function FOO has not been assigned a value
[NAG Fortran Compiler pass 1 error termination, 2 errors, 1 warning]