文章編號: 106560 - 上次校閱: 2003年12月1日 - 版次: 2.0

FIX: 不正確的範圍檢查陣列維度 (1)

在此頁中

全部展開 | 全部摺疊

徵狀

延伸的錯誤處理 (啟用 $ 偵錯] 或 [/4Yb) 不會攔截正註標註標出的範圍錯誤陣列宣告為具有維度 (1)。

狀況說明

Microsoft 已確認這是 FORTRAN 版本 4.0、 4.1、 5.0 及 5.1,] 和 [FORTRAN PowerStation 1.0 版 MS-DOS,Windows NT 的問題。 這個問題已解決與 FORTRAN PowerStation 的 MS-DOS 的維護發行版本 1.0a。

叫用連結器便可以 FORTRAN PowerStation 1.0 版以區分與維護發行版本 1.0a。 輸入 link32 | 更多 \F32\BIN 從目錄會顯示 2.8 版 FORTRAN PowerStation 版本 1.0,然後它會顯示維護發行版本 1.0a 版本 1.0f。

其他相關資訊

較低範圍會正確地檢查維度 (1)。 為存取陣列元素 0 (零) 或更少的嘗試會產生下標範圍檢查錯誤。 下標範圍檢查正常運作如果維度 (1: 1) 或 (N),其中 N 是至少應有 2 個。

範例程式碼

C Compile options needed: /4Yb

      integer a(1), b(1:1), c(2), i,n
      real    d(1)
      read *, i, n
      if     ( i .eq. 1 ) then
         a(n) = 3
         print *, a(n)
      elseif ( i .eq. 2 ) then
         b(n) = 3
         print *, b(n)
      elseif ( i .eq. 3 ) then
         c(n) = 3
         print *, c(n)
      elseif ( i .eq. 4 ) then
         d(n) = 3
         print *, d(n)
      end if
      end

C Input:    Result:
C  1 2         3
C  1 0         run-time error F6096: test.for(6)
C  2 2         run-time error F6096: test.for(9)
C  3 3         run-time error F6096: test.for(12)
C  4 2         3.000000
				

這篇文章中的資訊適用於:
  • Microsoft FORTRAN Compiler 4.0
  • Microsoft FORTRAN Compiler 4.1
  • Microsoft FORTRAN Compiler 5.0
  • Microsoft FORTRAN Compiler 5.1
  • Microsoft FORTRAN PowerStation 1.0 Standard Edition
  • Microsoft FORTRAN PowerStation 32
關鍵字:?
kbmt kbfix KB106560 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:106560? (http://support.microsoft.com/kb/106560/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
Retired KB Article依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
 

文章翻譯