Fortran Coder

查看: 104|回复: 11

[指针] 一个关于函数返回指针的问题

[复制链接]

63

帖子

14

主题

0

精华

专家

齊天大聖

F 币
317 元
贡献
200 点
发表于 2019-6-26 11:56:15 | 显示全部楼层 |阅读模式
program main
  implicit 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上有这个用法。


回复

使用道具 举报

120

帖子

8

主题

0

精华

宗师

F 币
2311 元
贡献
482 点
发表于 2019-6-26 13:13:25 | 显示全部楼层
fun()=2
print*,a

这是什么鬼东西……

63

帖子

14

主题

0

精华

专家

齊天大聖

F 币
317 元
贡献
200 点
 楼主| 发表于 2019-6-26 13:16:57 | 显示全部楼层

好久不见,要不你也去群里吧。

120

帖子

8

主题

0

精华

宗师

F 币
2311 元
贡献
482 点
发表于 2019-6-26 15:47:18 | 显示全部楼层
lookbook 发表于 2019-6-26 13:16
好久不见,要不你也去群里吧。

什么群,我完全不知道啊……

120

帖子

8

主题

0

精华

宗师

F 币
2311 元
贡献
482 点
发表于 2019-6-26 15:51:27 | 显示全部楼层
仔细看了下,原来有句contains
讨论的是函数返回的指针能不能被赋值的问题
fortran好像没有特别明确左值和右值的问题,不知道语言标准是咋定的

63

帖子

14

主题

0

精华

专家

齊天大聖

F 币
317 元
贡献
200 点
 楼主| 发表于 2019-6-26 16:08:11 | 显示全部楼层
liudy02 发表于 2019-6-26 15:47
什么群,我完全不知道啊……

搜索 Fortran Coder

348

帖子

1

主题

0

精华

宗师

F 币
1850 元
贡献
1217 点
发表于 2019-6-26 16:08:40 | 显示全部楼层
我试了下,ivf2019可以运行。这个的确有趣。

63

帖子

14

主题

0

精华

专家

齊天大聖

F 币
317 元
贡献
200 点
 楼主| 发表于 2019-6-26 16:08:48 | 显示全部楼层
liudy02 发表于 2019-6-26 15:51
仔细看了下,原来有句contains
讨论的是函数返回的指针能不能被赋值的问题
fortran好像没有特别明确左值和 ...

你是对Cpp有很深的了解吧

63

帖子

14

主题

0

精华

专家

齊天大聖

F 币
317 元
贡献
200 点
 楼主| 发表于 2019-6-26 16:10:25 | 显示全部楼层
li913 发表于 2019-6-26 16:08
我试了下,ivf2019可以运行。这个的确有趣。

给我加精

348

帖子

1

主题

0

精华

宗师

F 币
1850 元
贡献
1217 点
发表于 2019-6-26 16:12:10 | 显示全部楼层

那得版主才行。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2019-7-17 06:18

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表