Fortran Coder

查看: 13543|回复: 8
打印 上一主题 下一主题

[求助] 如何使用function重载运算符运算后返回一个数组

[复制链接]

22

帖子

6

主题

0

精华

入门

StarkLee

F 币
96 元
贡献
52 点
跳转到指定楼层
楼主
发表于 2014-12-6 14:11:11 来自移动端 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
RT
求高手指点
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

22

帖子

6

主题

0

精华

入门

StarkLee

F 币
96 元
贡献
52 点
沙发
 楼主| 发表于 2014-12-6 14:37:11 来自移动端 | 显示全部楼层
补充:数组运算得到数组

22

帖子

6

主题

0

精华

入门

StarkLee

F 币
96 元
贡献
52 点
板凳
 楼主| 发表于 2014-12-6 21:41:14 | 显示全部楼层
本帖最后由 306908677 于 2014-12-7 20:54 编辑
百事可乐 发表于 2014-12-6 16:13
我这里有一个重载 matmul 的代码,给你当例子吧

[Fortran] 纯文本查看 复制代码
module matmul_int
[/quote]
[mw_shl_code=fortran,true]  program main
  implicit none

   interface
        subroutine random_arr(a)
        implicit none
        integer(4),intent(out),allocatable ::a(:)
        end
   end interface

   interface operator(.U.)
        Function addy(c1, c2)
        implicit none
        integer, intent(in) :: c1(:), c2(:)
        integer, intent(out):: addy(20)



错误:
Function addy(c1, c2)
1
错误: (1)处的符号不是一个 DUMMY 变量
/Users/StarkLee/Desktop/EQU2.F90:33.1:

function addy(c1,c2)
1
错误: (1)处的符号不是一个 DUMMY 变量
Jarvis:~ StarkLee$

什么原因啊==

22

帖子

6

主题

0

精华

入门

StarkLee

F 币
96 元
贡献
52 点
地板
 楼主| 发表于 2014-12-7 00:11:45 来自移动端 | 显示全部楼层
li913 发表于 2014-12-6 19:10
普通的 + - * / 都是可以运用于数组的。

real a(3,4), b(3,4), c(3,4)

嗯嗯,thanx~

22

帖子

6

主题

0

精华

入门

StarkLee

F 币
96 元
贡献
52 点
5#
 楼主| 发表于 2014-12-7 13:39:08 | 显示全部楼层
fcode 发表于 2014-12-7 00:31
照猫画虎还不会?

[mw_shl_code=fortran,true]Module S

多谢大家的耐心指点~

仔细看了一遍原来function不能定义为 out~
问题已解决
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-19 03:34

Powered by Tencent X3.4

© 2013-2024 Tencent

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