回 帖 发 新 帖 刷新版面

主题:子程序内分配动态数组

我想在子程序中分配动态数组,就编了一个小程序,测试一下,代码见下
    program test2
    implicit none
    integer,allocatable::shuzu(:)
    print*,'test'
    call all_cate(shuzu)
    print*,shuzu
    end program

    subroutine all_cate(shuzu)
    implicit none
    integer::i,er
    integer,allocatable::shuzu(:)
    print*,'in'
    allocate(shuzu(3),stat=er)
    print*,er,'er'
    do i=1,3,1
        print*,i
        shuzu(i)=i*2
    end do
    deallocate(shuzu)
    return

    end subroutine all_cate
但是allocate语句出错,错误提示不知道是啥意思?
test
 in
getRegFromUnwindContext: Can't get Gr0 from UnwindContext, using 0
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image              PC                Routine            Line        Source             
test2              4000000000002B30  Unknown               Unknown  Unknown
test2              40000000000029D0  Unknown               Unknown  Unknown
Unknown            20000000003FDC50  Unknown               Unknown  Unknown
test2              40000000000027C0  Unknown               Unknown  Unknown
可以这样实现吗?应该可以啊,谢谢!

回复列表 (共10个回复)

沙发


warning #8055: The procedure has a dummy argument that has the ALLOCATABLE, ASYNCHRONOUS, OPTIONAL, POINTER, TARGET, VALUE or VOLATILE attribute. Required explicit interface is missing from original source.   [SHUZU]

板凳

楼主的编译器有问题啊,你用的是什么编译器?

3 楼

我总觉的这样玩是F2003的

Fortran很久不写的路过

4 楼

主要是F2003编译器应该会提示这有个错误(至少也是警告⚠)所以楼主不应该看不见的。
这样的东东必须使用Interface或是module

5 楼

主要是F2003编译器应该会提示这有个错误(至少也是警告⚠)所以楼主不应该看不见的。
这样的东东必须使用Interface或是module

6 楼

[quote]
warning #8055: The procedure has a dummy argument that has the ALLOCATABLE, ASYNCHRONOUS, OPTIONAL, POINTER, TARGET, VALUE or VOLATILE attribute. Required explicit interface is missing from original source.   [SHUZU][/quote]
这是什么意思?

7 楼

[quote]楼主的编译器有问题啊,你用的是什么编译器?[/quote]是在sgi的服务器上编译的,ifort -o,linux操作系统

8 楼

[quote]我总觉的这样玩是F2003的

Fortran很久不写的路过[/quote]这是啥意思啊。F2003,是什么?

9 楼

F2003是Fortran的2003标准:)
看来Intel编译器这个容错整的有问题啊。
楼主最好是把那个函数放到一个Module里。

10 楼

[quote]F2003是Fortran的2003标准:)
看来Intel编译器这个容错整的有问题啊。
楼主最好是把那个函数放到一个Module里。[/quote]
明白了,谢谢!

我来回复

您尚未登录,请登录后再回复。点此登录或注册