一个关于函数返回指针的问题
program mainimplicit none
integer,target :: a
a=1
fun()=2
print*,a
contains
function fun() result(ptr)
integer,pointer :: ptr
ptr=>a
end function fun
end program main
gf, pgi都能通过,结果是2。
这个很有趣,
翻了下chapman的书,上面明确表示不能放左边,
但IFC 19.0上有这个用法。
fun()=2
print*,a
这是什么鬼东西…… liudy02 发表于 2019-6-26 13:13
fun()=2
print*,a
好久不见,要不你也去群里吧。 lookbook 发表于 2019-6-26 13:16
好久不见,要不你也去群里吧。
什么群,我完全不知道啊…… 仔细看了下,原来有句contains
讨论的是函数返回的指针能不能被赋值的问题
fortran好像没有特别明确左值和右值的问题,不知道语言标准是咋定的 liudy02 发表于 2019-6-26 15:47
什么群,我完全不知道啊……
搜索 Fortran Coder 我试了下,ivf2019可以运行。这个的确有趣。 liudy02 发表于 2019-6-26 15:51
仔细看了下,原来有句contains
讨论的是函数返回的指针能不能被赋值的问题
fortran好像没有特别明确左值和 ...
你是对Cpp有很深的了解吧 li913 发表于 2019-6-26 16:08
我试了下,ivf2019可以运行。这个的确有趣。
给我加精:-lol lookbook 发表于 2019-6-26 16:10
给我加精
那得版主才行。
页:
[1]
2