| 5 | 1/1 | 返回列表 |
| 查看: 3303 | 回復(fù): 9 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
鴻影驚天下金蟲 (小有名氣)
|
[求助]
主程序中未分配的可變數(shù)組,如何在子程序中調(diào)用?
|
||
|
請前輩們幫忙,自己編的一段程序: Program test_main implicit none integer NP,ele_n,NE,NNE,npt,num integer,pointer :: ele_concentrate( : ),ele_c( : ) double precision,pointer::vcl( : , : ) interface subroutine new_node(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) implicit none integer NP,ele_n,NE,NNE,npt,num integer,allocatable :: ele_concentrate(NE),ele_c(NNE) double precision,allocatable :: vcl(2,npt) end subroutine new_node subroutine zhaobian_gj01(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) implicit none integer NP,ele_n,NE,NNE,npt,num integer :: ele_concentrate(NE),ele_c(NNE) double precision ::vcl(2,npt) end subroutine zhaobian_gj01 end interface call zhaobian_gj01(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) call new_node(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) end 后面的zhaobian_gj01, new_node是子程序經(jīng)調(diào)試沒有錯誤,但是主程序在調(diào)試過程中總報錯。 ![]() 一個錯誤是可變數(shù)組ele_concentrate,ele_c,vcl:ALLOCATABLE or POINTER attribute dictates a deferred-shape-array 另外一個錯誤是An allocatable dummy argument may only be argument associated with an allocatable actual argument. 同樣也是可變數(shù)組出錯。 兩個錯誤都出在interface塊。 求有經(jīng)驗的前輩幫忙指點一二!謝謝 [ Last edited by 鴻影驚天下 on 2014-3-4 at 15:06 ] |

金蟲 (小有名氣)
|
謝謝!這一段已經(jīng)調(diào)通了,但是新的問題又產(chǎn)生了 。我之前已經(jīng)調(diào)通的子程序段new_node在整個程序調(diào)用時出現(xiàn)斷點,我檢查了以后發(fā)現(xiàn)是zhaobian_gj01這個子程序里生成的,ele_concentrate,ele_c這兩個數(shù)組的值沒有正確傳入new_node里。zhaobian_gj01里定義的interface塊是這樣的: interface subroutine new_node(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) implicit none integer NP,ele_n,NE,NNE,npt,num integer ele_concentrate(NE),ele_c(NNE) double precision vcl(2,npt) end subroutine new_node end interface 是這里有什么問題嗎? |

金蟲 (小有名氣)
|
對不起我不是很明白,你的意思是vcl這個數(shù)組定義成(2,: )是已經(jīng)給定了大小嗎?我把interface塊改成這樣: interface subroutine new_node(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) implicit none integer NP,ele_n,NE,NNE,npt,num integer,allocatable :: ele_concentrate(NE),ele_c(NNE) double precision :: vcl(2,npt) end subroutine new_node end interface interface subroutine zhaobian_gj01(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num) implicit none integer NP,ele_n,NE,NNE,npt,num integer,allocatable :: ele_concentrate(NE),ele_c(NNE) double precision ::vcl(2,npt) end subroutine zhaobian_gj01 end interface 之后,vcl數(shù)組不再提示錯誤,但是其他兩個數(shù)組還是會報原來的錯誤。但是如果把interface里申請可變數(shù)組的allocatable都去掉,錯誤提示就會變成:error #8000: There is a conflict between local interface block and external interface block. [ELE_CONCENTRATE] 位置是在interface里zhaobian_gj01(NP,ele_n,NE,NNE,ele_concentrate,ele_c,vcl,npt,num)這一句。 這是為什么呢? |

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 學(xué)碩274求調(diào)劑 +12 | Li李魚 2026-03-26 | 12/600 |
|
|---|---|---|---|---|
|
[考研] 一志愿鄭大材料工程290求調(diào)劑 +12 | Youth_ 2026-03-30 | 12/600 |
|
|
[考研] 370求調(diào)劑 +3 | 080700調(diào)劑 2026-03-30 | 3/150 |
|
|
[考研] 福建理工大學(xué)材料學(xué)院先進(jìn)合金團(tuán)隊招收考研調(diào)劑學(xué)生 +3 | 大華金商都 2026-03-30 | 4/200 |
|
|
[考研] 哈爾濱工業(yè)大學(xué)材料與化工專碩378求調(diào)劑 +3 | 塔比烏斯 2026-03-30 | 3/150 |
|
|
[考研] 一志愿華中師范化學(xué)332分求調(diào)劑 +3 | Lyy930824@ 2026-03-29 | 3/150 |
|
|
[考研] 材料學(xué)碩333求調(diào)劑 +14 | 北道巷 2026-03-24 | 14/700 |
|
|
[考研] 322求調(diào)劑 +10 | 宋明欣 2026-03-27 | 10/500 |
|
|
[考研] 求調(diào)劑 +10 | 家佳佳佳佳佳 2026-03-29 | 10/500 |
|
|
[考研] 317分 一志愿南理工材料工程 本科湖工大 求調(diào)劑 +12 | 芋泥小鈴鐺 2026-03-28 | 12/600 |
|
|
[考研] 求化學(xué)調(diào)劑 +11 | wulanna 2026-03-28 | 11/550 |
|
|
[考研] 317求調(diào)劑 +10 | 蛋黃咸肉粽 2026-03-26 | 10/500 |
|
|
[考研] 求調(diào)劑 +4 | QiMing7 2026-03-25 | 5/250 |
|
|
[考研] 311求調(diào)劑 +6 | 冬十三 2026-03-24 | 6/300 |
|
|
[考研] 086000生物與醫(yī)藥調(diào)劑 +5 | Feisty。 2026-03-28 | 9/450 |
|
|
[考研] 070300求調(diào)劑306分 +4 | 26要上岸 2026-03-27 | 4/200 |
|
|
[考研] 材料求調(diào)劑一志愿哈工大324 +7 | 閆旭東 2026-03-28 | 9/450 |
|
|
[考研] 07化學(xué)303求調(diào)劑 +5 | 睿08 2026-03-25 | 5/250 |
|
|
[考研] 277分求調(diào)劑,跨調(diào)材料 +3 | 考研調(diào)劑lxh 2026-03-24 | 3/150 |
|
|
[考研]
|
13659058978 2026-03-24 | 4/200 |
|