Fortran Coder

查看: 34131|回复: 6
打印 上一主题 下一主题

[求助] gfortran遇到Error: Incompatible ranks 0 and 1 in assignment

[复制链接]

16

帖子

5

主题

0

精华

入门

F 币
85 元
贡献
52 点

规矩勋章

跳转到指定楼层
楼主
发表于 2016-3-19 20:39:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
vvt 发表于 2016-3-19 20:05
sign(1.0,kz+NN1*K)
这里第一个参数是 1.0 ,是 real 类型
第二个参数是 kz+NN1*k,是 integer 类型(我猜 ...

还有个问题想问大神,下面这句代码错在哪里:
w0(1)=w0(1)+( waveh(4*J-3,T)*posi(1,1,J) +waveh(4*J-2,T)*posi(1,2,J)+waveh(4*J-1,T)*posi(1,3,J)+waveh(4*J,T)*posi(1,4,J) )*exp((0.0,1.0)*(Kn*z(zz)))
报错是这样的:Error: Incompatible ranks 0 and 1 in assignment at (1)
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

沙发
发表于 2016-3-20 07:53:57 | 只看该作者
这个错误是等号左右变量数组维度不一致导致的。
比如
[Fortran] 纯文本查看 复制代码
  real :: a(3),c
  c = a

就会出现这个错误。

我检查了你的代码,左边 w0(1) 是单变量,右边可能有数组,比如 Kn 是一个数组?

16

帖子

5

主题

0

精华

入门

F 币
85 元
贡献
52 点

规矩勋章

板凳
 楼主| 发表于 2016-3-20 15:07:32 | 只看该作者
fcode 发表于 2016-3-20 07:53
这个错误是等号左右变量数组维度不一致导致的。
比如
[mw_shl_code=fortran,true]  real :: a(3),c

恩 右边的的确是有数组,那我该怎么修改呢

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

地板
发表于 2016-3-20 15:20:46 | 只看该作者
一个数是不能够等于一个数组的。这是逻辑问题,而不是语法问题。
如何修改,看你想法。

16

帖子

5

主题

0

精华

入门

F 币
85 元
贡献
52 点

规矩勋章

5#
 楼主| 发表于 2016-3-20 16:24:39 | 只看该作者
fcode 发表于 2016-3-20 15:20
一个数是不能够等于一个数组的。这是逻辑问题,而不是语法问题。
如何修改,看你想法。 ...

好的 我再自己想想。

16

帖子

5

主题

0

精华

入门

F 币
85 元
贡献
52 点

规矩勋章

6#
 楼主| 发表于 2016-4-1 14:32:10 | 只看该作者
fcode 发表于 2016-3-20 07:53
这个错误是等号左右变量数组维度不一致导致的。
比如
[mw_shl_code=fortran,true]  real :: a(3),c

版主,我还是不知道怎么改。我该把那个w0(1)定义成几维数组。而且初始值w0(1)=0.0的。

1967

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1370 元
贡献
581 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

7#
发表于 2016-4-1 14:45:35 | 只看该作者
数组应该是几维的,应该根据你的需求而定。而不是如何定义能让编译通过。
请不要本末倒置。

你要做的,是根据你的需求而设计代码。
而不是根据语法要求来更改你的需求。

不管怎么样,一个单变量,都不能等于一个数组。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-5-18 16:49

Powered by Tencent X3.4

© 2013-2024 Tencent

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