Ich studiere C in der Schule, wir mussten ein Programm erstellen, das einen Vektor von Musikalben verwaltet, ich habe versucht, kompilieren, aber ich habe diesen Fehler und ich kann keine Informationen darüber finden, der Compiler Fehler ist: "in get_parm_info, bei c-decl.c: 4637".Fehler beim Kompilieren eines C-Programms
Was soll ich tun?
Es ist nur eine Nachricht.
Der Code ist zu lang, um dort zu passen, aber es hat keine anderen Fehler als das.
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define MAX_STR 50
#define MAX_CANZONI 20
#define ALBUM_SIZE 44
struct t_canzone { //54 bytes
char titolo[MAX_STR];
int durata; //In secondi
};
struct t_autore { //104 bytes
char nome[MAX_STR];
char cognome[MAX_STR];
int eta;
};
struct t_album {
struct t_autore autore; //104 bytes
char titolo[MAX_STR]; //50 bytes
int numCanzoni; //4 bytes
struct t_canzone canzoni[MAX_CANZONI]; //1080 bytes
};
void inizializzazione(struct t_album album);
void stampacompleta(struct t_album album);
void stampaalbum(struct t_album album,char nome[]);
void cercacanzone(struct t_album album, char nome[]);
void modificaalbum(struct t_album album, char nome[]);
void aggiungicanzone(struct t_album album, char nome[]);
void ordinamento(struct t_album album,void confronto(struct t_album,int,int);
void crescente(struct t_album album,int i,int z);
void decrescente(struct t_album album,int i,int z);
void titlesort(struct t_album album,int i,int z);
void namesort(struct t_album album,int i,int z);
void crescente(struct t_album album,int i,int z){
struct t_album supporto;
if(album[i].numCanzoni>album[z].numCanzoni)
{
supporto=album[i];
album[i]=album[z];
album[z]=supporto;
}
}
void decrescente(struct t_album album,int i,int z){
struct t_album supporto;
if(album[i].numCanzoni<album[z].numCanzoni)
{
supporto=album[i];
album[i]=album[z];
album[z]=supporto;
}
}
void titlesort(struct t_album album,int i,int z){
if(strncmp(album[i].titolo,album[z].titolo)>0)
{
supporto=album[i];
album[i]=album[z];
album[z]=supporto;
}
}
void namesort(struct t_album album,int i,int z){
if(strncmp(album[i].autore.nome,album[z].autore.nome)>0)
{
supporto=album[i];
album[i]=album[z];
album[z]=supporto;
}
else if(strncmp(album[i].autore.nome,album[z].autore.nome)==0)
{
if(strncmp(album[i].autore.cognome,album[z].autore.cognome)>0)
{
supporto=album[i];
album[i]=album[z];
album[z]=supporto;
}
}
}
void ordinamento(struct t_album album,void confronto(struct t_album,int,int){
int i,z;
for(i=0;i<ALBUM_SIZE-1;i++)
{
for(z=i+1;z<ALBUM_SIZE;z++)
{
confronto(album[],i,z);
}
}
}
[Update von Kommentar:]
Der komplette "Fehler" Nachricht ist:
Compiler: Default compiler Executing gcc.exe... gcc.exe "C:\Users\lavpreet\Desktop\canzone.c" -o "C:\Users\lavpreet\Desktop\canzone.exe" -g3 -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib" -g3 C:\Users\lavpreet\Desktop\canzone.c:35: internal compiler error: in get_parm_info, at c-decl.c:4637
Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://www.mingw.org/bugs.shtml> for instructions. Execution terminated
zeigen fehlen nur * relevant * Code für das Problem. Hast du das Debuggen probiert? – Li357
... und die * ganze * Fehlermeldung. –
Nein, ich weiß nicht, wie es geht, aber das Kompilierprotokoll sagt das: 'Compiler: Standardcompiler Ausführen von gcc.exe ... gcc.exe" C: \ Benutzer \ lavpreet \ Desktop \ canzone .c "-o" C: \ Benutzer \ lavpreet \ Desktop \ canzone.exe "-g3 -I" C: \ Dev-Cpp \ include "-L" C: \ Dev-Cpp \ lib "-g3 C: \ Benutzer \ lavpreet \ Desktop \ canzone.c: 35: interner Compilerfehler: in get_parm_info, bei c-decl.c: 4637 Bitte senden Sie einen vollständigen Fehlerbericht, mit vorverarbeiteten Quelle, falls zutreffend. Siehe für Anweisungen. Ausführung beendet ' –