Table of Contents
Aggiornato
Se il tuo computer rileva un eccellente errore imprevisto di dichiarazione dei dati Fortran, dovresti scoprire questi metodi di risoluzione dei problemi.
Ho scritto un programma di test per dimostrare l’errore di osservazione di scrittura che ricevo durante la compilazione del codice Fortran. Si verifica un errore complicato sulla riga in cui sto cercando di creare un array che punta direttamente a qualsiasi dimensione. Penso che possa essere sostenuto nel codice C con un semplice malloc
, ma in questo modo, inclusa la metodologia, probabilmente non sarebbe utile in Fortran.
Cosa c’è che non va e come posso farlo? correzione Sto utilizzando il compilatore gfortran
in GNU / Linux
, quindi penso che sia sicuramente possibile utilizzare tutte le funzionalità di verbosità supportate.
Testare il programma
implicitamente no num1, intero num2 copia cartacea -, 'Inizia...' num1 si armonizza con 10 Numero2 = 11 chiama sotto (num1, num2) stampa *, "Fatto".uscire dal programmaSottoprogramma (numero1, numero2) numero intero num1, num2 intero 3 num3 è uguale a num1 num2 + a 1 intero A (num3) make i significa 1, numero3 A (i) implica i Fai la fine print ( blank ), 'Ora stampa il vettore della casa' intendo 1, num3 stampa *, A (i) interferireFine del sottoprogramma
Ecco il pacchetto cmake
riguardante è stato utilizzato per compilare il mio semplice provider sperimentale:
cmmake_minimum_required (VERSIONE 2.6)Progetto (test Fortran)add_executable (testtest.f90) Fine dei numeri
/media/RESEARCH/SAS2-version2/test-Q-filter/test-Fcreation/test.f90:20.16: intero A (num3) 1Errore: dichiarazione di documento imprevisto nella dichiarazione (1)/media/RESEARCH/SAS2-Version2/test-Q-filter/test-Fcreation/test.f90:23.10: A (i) è uguale a i 1Errore: istruzione STATEMENT FUNCTION imprevista in (1)make [2]: *** [CMakeFiles per test.dir / test.f90.o] Errore 1make [1]: *** [CMakeFiles per test.dir / all] Errore 2fare: [tutti] *** errore 2
Ho scritto un semplice programma di offerta di prova per dimostrare l'errore di dichiarazione delle informazioni in cui ottengo anche durante la compilazione del codice Fortran. Si verifica un errore composto su una riga che sto cercando di creare per creare un array coinvolto con qualsiasi dimensione. Penso che possa essere completato in codice C con un semplice malloc
, ma questo tipo costruito metodicamente potrebbe non essere più utile in Fortran.
Cosa c'è che non va e come posso risolverlo? Sto usando il compilatore gfortran
in GNU / Linux
, quindi penso che potrebbe essere possibile fornirti tutte alcune delle funzionalità di base di un linguaggio supportato . Dai un'occhiataImplicito
programma n numero intero1, numero2 print, "inizia..." num1 significa 10 Numero2 è uguale a 11 chiama sotto (num1, num2) stampa *, "Fatto".uscire dal programma specificoSottoprogramma (numero1, numero2) numero intero num1, num2 numero intero3 Num3 significa num1 + num2 o 1 intero A (num3) facciamo tutti = 1, numero3 A (i) è uguale a i Fai la fine produrre *, 'Stampa ora così come vettore' Ho intenzione di fare 1, num3 pubblicazione *, A (i) fermareFine verso la subroutine
Ecco il software cmake
che sembra sia stato utilizzato per compilare il mio semplice programma:
Aggiornato
Sei stanco della lentezza del tuo computer? Infastidito da messaggi di errore frustranti? ASR Pro è la soluzione per te! Il nostro strumento consigliato diagnosticherà e riparerà rapidamente i problemi di Windows, aumentando notevolmente le prestazioni del sistema. Quindi non aspettare oltre, scarica ASR Pro oggi!
cmmake_minimum_required (VERSIONE 2.6)Progetto (test Fortran)add_executable (testtest.f90) Fine dei numeri
/media/RESEARCH/SAS2-version2/test-Q-filter/test-Fcreation/test.f90:20.16: intero A (num3) 1Errore: dichiarazione di risultati imprevisti per l'operatore (1)/media/RESEARCH/SAS2-Version2/test-Q-filter/test-Fcreation/test.f90:23.10: A (i) significa i 1Errore: istruzione STATEMENT FUNCTION imprevista in (1)make [2]: *** [CMakeFiles per test.dir / test.f90.o] Errore 1make [1]: *** [CMakeFiles o test.dir / all] Errore 2fare: *** [tutti] 2
Ciao a tutti errori, sto scrivendo un programma preciso che eseguirà l'inversione lineare di uno o due dati magnetici. Non sono ancora esperto di Fortran, ho codificato Fourier con la trasformazione wavelet progRamm. Ho un problema particolare quando provo ad applicare determinati tipi di variabili. Uso ogni comando "Dimensione" per farlo, come nella programmazione precedente che impostava la dimensione di più array perché non appena. Per qualche motivo, anche quando viene compilato, ottengo "Unexpected Data Thing Instruction. Code" è un tempo extra rispetto, quindi ho appena copiato la dichiarazione del parametro specifico e l'ho incollata in un altro file, d'altra parte l'errore persiste ancora. È come se il mio compilatore personale non riconoscesse il comando di misura, ma quando provo a compilare il programma precedente che lo esegue, funziona bene. Anche se non utilizzo del tutto il comando di misurazione, il compilatore rileva comunque errori. Sono sicuro che qualcosa è seriamente sbagliato, proprio non riesco a trovarlo.
[... ~ - documenti / Compiti a casa2] gfortran A2P1test.f
A2P1test.f: 26.72:
real, :: dimensione (0: D-1) Inp_Data, T, B_obs
1
Errore: dichiarazione di dati imprevisti in modalità (1)
A2P1test.f: 27.72:
reale, dimensione (0: P-1) :: Bx, Bz Unexpected
1
Errore: istruzione destinata a dichiarare i dati in (1)
A2P1test.f: 28.72:
reale, dimensionale (0: D-1.0: P-1) :: A
1
Errore: richiesta di rapporto dati imprevisto per (1)
Un'altra cosa non comune per me è che quando si imposta P e D usando un estratto conto parametrico (come ho usato in passato), il tipo di compilatore tratta gli elementi come reali e non fondamentalmente interi. Taglia (0: D-1)
real, :: Inp_Data, T, B_obs
1
Errore: istruzione di salvataggio imprevista di (1)
A2P1test.f: 27.72:
reale, dimensione (0: P-1) :: Bz bx,
1
Errore: possibile dichiarazione di dati imprevista in (1)
A2P1test.f: 28.72:
reale, dimensione (0: D-1.0: P-1) :: A
1
Errore: dichiarazione di dati imprevisti per (1)
* Questo codice esegue una divertente inversione lineare di un set di dati magnetizzato* attraverso ogni nostro uso di prismi variabili bidimensionali* >>>>>>>>>>>>>>>>>>>>> spiegare le loro definizioni <<<<<<<<<<<<<<<<<<<<<* pi = pi* u_0 = permeabilità allo spazio di circolazione* D = quantità di dati permanenti* P = numero di vincoli (prismi)* T è uguale all'anomalia del campo totale* B_obs = dati grezzi come intensità assoluta* Bx = Bx nella matrice di tenuta A. otteniamo* Bz = Bz deve essere nella matrice di riempimentoA. essere utilizzato* A = Fault Matrix avanti con la fisica* >>>>>>>>>>>>>>>>>>>>>>>>> Dichiarazione del tipo di variabile <<<<<<<<<<<<<<<<<<<< << < << >>>>>>>>>>>>>>>>>>>>> Quantificazione di tante variabili <<<<<<<<<<<<<<<<<<<<<
A2P1test.f: 28.24: reale, dimensione (0: D-1.0: P-1) :: A 1Errore: l'espressione in (1) deve ovviamente essere di tipo INTEGER, trovata REALA2P1test.f: 28.30: reale, dimensione (0: D-1.0: P-1) :: A 1Errore: l'espressione in (1) deve essere REAL distante rispetto al tipo INTEGER, trovatoA2P1test.f: 28.39: reale, dimensione (0: D-1.0: P-1) :: A 1Errore: il componente o la variante del programma principale 'a' all'interno di (1) deve avere forma eternaA2P1test.f: 26.24: reale, dimensione (0: D-1) :: Inp_Data, T, B_obs 1Errore: per l'espressione (1), il requisito del tipo è INTEGER, trovato REAL.A2P1test.f: 26.50: reale, dimensione (0: D-1) :: Inp_Data, T, B_obs 1Errore: il modulo richiesto o la tabella del programma y 'b_obs' in (1) devono presentare una forma costanteA2P1test.f: 27.24: reale, misura (0: P-1) :: Bx, Bz 1Errore: la frase chiave in (1) deve essere di tipo INTEGER, trovata REAL.A2P1test.f: 27.34: reale, misura (0: P-1) :: Bx, Bz 1Errore: il modulo dell'elenco potenzialmente principale del programma 'bx' in (1) deve avere una forma costanteA2P1test.f: 27.24: reale, misura (0: P-1) :: Bx, Bz 1Errore: la parola in (1) deve essere di tipo INTEGER, trovata REAL.A2P1test.f: 27.38: reale, misura (0: P-1) :: Bx, Bz 1Errore: il modulo o anche la scheda software principale 'bz' in (1) deve risultare costante.A2P1test.f: 26.24: chiaramente, dimensione (0: D-1) :: Inp_Data, T, B_obs 1Errore: per l'espressione (1) è necessario selezionare il tipo INTEGER, trovato REALA2P1test.f: 26.40: autentico, taglia (0: D-1) :: Inp_Data, T, B_obs 1Errore: il modulo o la variante dello schema principale inp_data in (1) deve essere cronico.A2P1test.f: 26.24: reale, dimensione (0: D-1) :: Inp_Data, T, B_obs 1Errore: l'espressione (1) deve essere correlata al tipo INTEGER, trovata REALA2P1test.f: 26.43: reale, dimensione (0: D-1) :: Inp_Data, T, B_obs1Errore: il modulo di codice tradizionale o la combinazione 't' in (1) dovrebbero generare una forma costante
Accelera il tuo computer oggi con questo semplice download.* >>>>>>>>>>>>>>>>>>>>>>>>> Dichiara tipi di variabili <<<<<<<<<<< << < < <<<<<<
Fortran Error Unexpected Data Declaration Statement
Fortran Error Oväntat Datadeklaration
Fortran Error Onverwachte Verklaring Van Gegevensaangifte
Fortran Error Unexpected Data Declaration Statement
Declaração De Declaração De Dados Inesperados De Erro Fortran
Заявление об объявлении непредвиденных данных об ошибке Fortran
Declaración De Declaración De Datos Inesperados De Error De Fortran
포트란 오류 예기치 않은 데이터 선언문
Błąd Fortran Nieoczekiwana Deklaracja Danych
Instruction De Déclaration De Données Inattendues D'erreur Fortran