Fortran Coder

查看: 27059|回复: 5

[数值问题] This name has not been declared as an array or a function

[复制链接]

8

帖子

3

主题

0

精华

入门

F 币
49 元
贡献
28 点
发表于 2017-3-22 12:47:02 | 显示全部楼层 |阅读模式
帮我看一下,非常感谢!!!
[Fortran] 纯文本查看 复制代码
real:: n=7
real,dimension(1:n)::h_scatter
real,dimension(1:n)::hp_scatter=(/0,0,0,0,0,0,0/)
real,dimension(1:n)::tp_scatter=(/0,0,0,0,0,0,0/)
real,dimension(1:n)::beox_style=(/0,0,0,0,0,1,0/)
......
do j=1,n
        if (h_style(j)==1) then                          
            h_scatter(j)=0
        else if(beox_style(j)==1) then      
              hp_water(j-1)=h_water(j-1)+dh_pu
              tp_water(j-1)=ph(pout_pu,hp_water(j-1))      (t=ph(p,h)通过压力和焓查温度语句应该如何写)
              t_scatter(j)=tp_water(j-1)
              h_scatter(j)=ptwater(p_heater(j),t_scatter(j))
           else
              h_scatter(j)=hs_heater(j)
           end
    end do
    print*,(h_scatter(j),j=1,n)

error #6410: This name has not been declared as an array or a function.   [H_SCATTER]
error #6410: This name has not been declared as an array or a function.   [HP_WATER]
error #6410: This name has not been declared as an array or a function.   [TP_WATER]
是否是因为当取1时j-1=0,未定义才出错

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
发表于 2017-3-22 12:57:24 | 显示全部楼层
1.编译错误先看第一个,后面的一律无视。

2.
real:: n=7
real,dimension(1:n)::h_scatter
这种写法是不允许的,变量不能作为数组大小。(如果要做只能用动态数组)

3.hp_water和 TP_WATER 没有定义为数组,不能作为数组使用。

8

帖子

3

主题

0

精华

入门

F 币
49 元
贡献
28 点
 楼主| 发表于 2017-3-22 13:40:12 | 显示全部楼层
vvt 发表于 2017-3-22 12:57
1.编译错误先看第一个,后面的一律无视。

2.

integer,parameter::n=7
real,dimension(1:n)::h_scatter
real,dimension(1:n)::hp_water=(/0,0,0,0,0,0,0/)
real,dimension(1:n)::tp_water=(/0,0,0,0,0,0,0/)

我看到书上有这样声明的。

8

帖子

3

主题

0

精华

入门

F 币
49 元
贡献
28 点
 楼主| 发表于 2017-3-22 13:43:01 | 显示全部楼层
汤晨瑾 发表于 2017-3-22 13:40
integer,parameter::n=7
real,dimension(1:n)::h_scatter
real,dimension(1:n)::hp_water=(/0,0,0,0,0,0, ...

fortran 90 编程基础 林晓彤主编
integer,parameter::M=3,N=4
integer,dimension::(1:M,1:N)::tem

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
发表于 2017-3-22 18:00:40 | 显示全部楼层
integer,parameter::n=7
这是常量
real:: n=7
这是变量
(他们的区别是,有没有 parameter)

8

帖子

3

主题

0

精华

入门

F 币
49 元
贡献
28 点
 楼主| 发表于 2017-3-23 09:30:07 | 显示全部楼层
vvt 发表于 2017-3-22 18:00
integer,parameter::n=7
这是常量
real:: n=7

好的。这个我改过来了。谢谢您!但是显示的错误还是没有声明数组。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-4-19 01:35

Powered by Tencent X3.4

© 2013-2024 Tencent

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