Error: Explicit-shape array 'a' at (1) requires constant array bounds or valid dummy dimension – Fortran DUMMY_ARG_EXPLICIT_BOUND

DUMMY_ARG_EXPLICIT_BOUND

Un array dichiarato come argomento esplicito in una subroutine non può utilizzare variabili ordinarie per specificare i limiti a meno che le dimensioni non siano passate come argomenti formali precedenti.

Cosa significa questo errore?

Un array dichiarato come argomento esplicito in una subroutine non può utilizzare variabili ordinarie per specificare i limiti a meno che le dimensioni non siano passate come argomenti formali precedenti.

Messaggio originale

Error: Explicit-shape array 'a' at (1) requires constant array bounds or valid dummy dimension

Contesto e parole chiave

Alias

  • Explicit-shape array requires constant array bounds Fortran

Messaggi alternativi

  • limiti array espliciti non validi in argomento formale

Prodotti

  • GNU Fortran (gfortran) / Intel Fortran (ifx) / LLVM Flang

Piattaforme

  • Linux
  • macOS
  • Windows

Parole chiave

  • Compilazione e Sintassi (gfortran)
  • errore-fortran-dummy-argument-dimension-constant
  • fortran
  • fortran.compilatore.dummy-argument-dimension-constant
  • gfortran

Cause possibili

Causa tecnica per Errore Fortran: Explicit-shape array requires constant bounds (Limiti Array Argomento)

Un array dichiarato come argomento esplicito in una subroutine non può utilizzare variabili ordinarie per specificare i limiti a meno che le dimensioni non siano passate come argomenti formali precedenti.

molto comune

Diagnosi

Diagnostica di compilazione e memoria per Errore Fortran: Explicit-shape array requires constant bounds (Limiti Array Argomento)

Compilare con controlli di sicurezza estesi (-Wall -Wextra -fcheck=all -ffpe-trap=invalid,zero,overflow -g).

Come leggere il risultato. Attiva il controllo dei limiti degli array, overflow numerici e tracciamento puntatori a runtime.

terminal
gfortran -Wall -Wextra -fcheck=all -g main.f90 -o app

Risoluzione

Risoluzione standard per Errore Fortran: Explicit-shape array requires constant bounds (Limiti Array Argomento)

Difficoltà: mediaRischio: basso

Applicare la correzione al codice sorgente Fortran conforme agli standard Fortran 90/2003/2008/2018.

  1. Ispezionare la riga segnalata dal compilatore gfortran o ifx
  2. Verificare le dichiarazioni di tipo, specificatori IOSTAT o allocazioni di array
  3. Ricompilare ed eseguire con opzioni di controllo di integrità
terminal
gfortran -O2 -Wall main.f90 -o app

Domande frequenti

Come risolvere l'errore Errore Fortran: Explicit-shape array requires constant bounds (Limiti Array Argomento) in Fortran?

Un array dichiarato come argomento esplicito in una subroutine non può utilizzare variabili ordinarie per specificare i limiti a meno che le dimensioni non siano passate come argomenti formali precedenti.

Approfondimenti

Schede correlate