Fortran Coder

查看: 13163|回复: 4
打印 上一主题 下一主题

[求助] 赋值出现问题

[复制链接]

8

帖子

2

主题

0

精华

入门

F 币
56 元
贡献
22 点
跳转到指定楼层
楼主
发表于 2020-6-7 10:11:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Tobebetter 于 2020-6-7 10:16 编辑

报错信息

/root/workspace/AM3/exp/../src/land_lad2/shared/nf_utils/getput.inc:419.9:
    包含在/root/workspace/AM3/exp/../src/land_lad2/shared/nf_utils/ nfu.F90:544:

  iret = nf_put_vara_NF_TYPE(ncid,varid,start,count,var)
         1
错误:函数(n)的函数'nf_put_vara_nf_type'没有IMPLICIT类型

NF_TYPE在之前定义为double,然后其前面有这些索引语句:

#define CONCAT3(op,T,D)op / ** / T / ** / D
#define CONCAT2(op,T)op / ** / T

#define NF_GET_VARA_(T) CONCAT2(nf_get_vara_,T)
#define NF_GET_VARA_T NF_GET_VARA_(NF_TYPE)

的#define NF_PUT_VARA_(T) CONCAT2(nf_put_vara_,T)
的#define NF_PUT_VARA_T NF_PUT_VARA_(NF_TYPE)

好像这个Ť变成nf_type了,并没有变成double。

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

2015

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1574 元
贡献
676 点

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

沙发
发表于 2020-6-7 10:30:18 | 只看该作者
这是 nf_put_vara_NF_TYPE 的问题,跟其他的无关。这一堆

#define CONCAT3(op,T,D)op / ** / T / ** / D
#define CONCAT2(op,T)op / ** / T

#define NF_GET_VARA_(T) CONCAT2(nf_get_vara_,T)
#define NF_GET_VARA_T NF_GET_VARA_(NF_TYPE)

的#define NF_PUT_VARA_(T) CONCAT2(nf_put_vara_,T)
的#define NF_PUT_VARA_T NF_PUT_VARA_(NF_TYPE)


都是无关的内容。

定义一下就行了,比如
integer :: nf_put_vara_NF_TYPE

PS :   netcdf 的早期版本在现在的编译器看来,是有问题的

8

帖子

2

主题

0

精华

入门

F 币
56 元
贡献
22 点
板凳
 楼主| 发表于 2020-6-7 12:57:20 | 只看该作者
有关的吧,这些都是预处理,就是源代码里面是从NF_PUT_VARA_T  ->变成nf_put_vara_NF_TYPE->nf_put_vara_double,这里的NF_TYPE是外部给的一个定义。

8

帖子

2

主题

0

精华

入门

F 币
56 元
贡献
22 点
地板
 楼主| 发表于 2020-6-7 12:58:15 | 只看该作者
我出现的问题其实就是最后一步没成功赋值,有一个类似的操作都能赋值成功,就很诡异。

8

帖子

2

主题

0

精华

入门

F 币
56 元
贡献
22 点
5#
 楼主| 发表于 2020-6-7 18:23:57 | 只看该作者
fcode 发表于 2020-6-7 10:30
这是 nf_put_vara_NF_TYPE 的问题,跟其他的无关。这一堆

#define CONCAT3(op,T,D)op / ** / T / ** / ...

就是有nf_put_vara_double的定义,但是它之前值赋值没成功,导致后面这个NF_TYPE没有变成double
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-11-15 06:50

Powered by Tencent X3.4

© 2013-2024 Tencent

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