Fortran Coder

查看: 6139|回复: 2
打印 上一主题 下一主题

[面向对象] 类成员是过程指针的问题

[复制链接]

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
跳转到指定楼层
楼主
发表于 2019-1-17 15:50:14 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lookbook 于 2019-1-17 15:56 编辑

文件1中定义了一个父类,其成员里面有名为zero_father的过程指针,指向了该文件中的私有函数zero。


文件2中定义了一个子类,继承了上面这个父类,并添加名为zero_son的过程指针,指向了该文件中的私有函数zero。


然后,我把子类在main里面use

仅仅use,啥都没干,

居然gfortran编译不通过。

错误代码是:

main.f90:3:6:

   use m_son
      1
Error: Interface mismatch for procedure-pointer component ‘zero_father’ in structure constructor at (1): Type mismatch in argument 'this' (CLASS(t_father)/CLASS(t_son))

这真的是。。。有点无语了。。。


QQ截图20190117155443.jpg (66.77 KB, 下载次数: 247)

QQ截图20190117155443.jpg
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

79

帖子

17

主题

0

精华

专家

齊天大聖

F 币
433 元
贡献
266 点
沙发
 楼主| 发表于 2019-1-18 12:15:37 | 显示全部楼层
vvt 发表于 2019-1-18 09:03
下次提问,请给出代码(文字,而非图片)
(反正我是不愿意再把代码敲一次的)

感谢提醒,
1、两个文件文件里都有属性为private的zero函数
2、过程指针比较奇怪,必须接口严格对上,哪怕是父类子类,都不可互指

我使用的是gfortran
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 05:33

Powered by Tencent X3.4

© 2013-2024 Tencent

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