Fortran Coder

查看: 384|回复: 5

[求助] 子程序结构名称无效或丢失

[复制链接]

6

帖子

2

主题

0

精华

入门

F 币
37 元
贡献
17 点
发表于 2021-9-1 09:55:30 | 显示全部楼层 |阅读模式
编译报错: error #6158: The structure-name is invalid or is missing.
但是鼠标移动到结构名称上面右键查询结构定义,结果没有跳转,不知道结构在哪定义的,也不知道调用什么子程序保证结构正常使用
回复

使用道具 举报

1622

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1970 元
贡献
1248 点

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

发表于 2021-9-1 10:09:06 | 显示全部楼层
1. 您使用什么操作系统,什么编译器?什么编译环境?
2. 给出必要代码

6

帖子

2

主题

0

精华

入门

F 币
37 元
贡献
17 点
 楼主| 发表于 2021-9-1 10:26:43 | 显示全部楼层
[Fortran] 纯文本查看 复制代码
subroutine Renew_Wave
    !**********************************************************************
    !
    ! 定义子程序更新
    !
    !**********************************************************************
    implicit none
    ! local variables
    integer::wave_num!地震波定义
    integer::i,j
    real,dimension(1400)::wave_t,wave_v
    real,dimension(CalParams%PrescribedVelo%NNodePrescribedVelo,3)::Prevel
    wave_num=1400

    CalParams%PrescribedVelo%NodalPrescribedVelocityValue=Prevel

    do i = 1, CalParams%PrescribedVelo%NNodePrescribedVelo
        if (Prevel(i,1)==0.or.Prevel(i,2)==0.or.Prevel(i,3)==0) then!地震波触发条件,输入999
            open(10,file='v-t.txt',status='old')
            do j=1,wave_num
                read(10,*)wave_t(j),wave_v(j)
                if (j==CalParams%IStep) then! 时间步
                    CalParams%PrescribedVelo%NodalPrescribedVelocityValue(I, 1:NVECTOR)=wave_v(j)
                end if
            end do
            close (10)
        else
            CalParams%PrescribedVelo%NodalPrescribedVelocityValue(I, 1:NVECTOR) = CalParams%PrescribedVelo%NodalPrescribedVelocityValue(I, 1:NVECTOR)
        end if
    end do
    write(*,*)CalParams%PrescribedVelo%NodalPrescribedVelocityValue(1, 2)
    end subroutine Renew_Wave

windows操作系统,vs编译,只看到其中calparams的引用,但是转到定义转不过去,不知道在哪定义的

1622

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1970 元
贡献
1248 点

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

发表于 2021-9-1 10:54:57 | 显示全部楼层
从你给出的代码片段里,我也看不出来。
VS和Intel Fortran的嵌合,并不是特别完备的。很多时候 goto define 功能并不好用,这是正常现象。

6

帖子

2

主题

0

精华

入门

F 币
37 元
贡献
17 点
 楼主| 发表于 2021-9-1 10:57:54 | 显示全部楼层
fcode 发表于 2021-9-1 10:54
从你给出的代码片段里,我也看不出来。
VS和Intel Fortran的嵌合,并不是特别完备的。很多时候 goto define ...

好吧,我试试别的编译器看能不能找到Calparams的定义,谢谢了

1622

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1970 元
贡献
1248 点

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

发表于 2021-9-1 11:44:00 | 显示全部楼层
你可以用搜索功能,或者按照语法的指示去找。比如 看看use了哪些module,顺着 module 里面看看。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-9-24 07:07

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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