+ Antworten
Ergebnis 1 bis 9 von 9

gcc-Warnung: [-Wmissing-braces]

Diskussion über gcc-Warnung: [-Wmissing-braces] in C und C++ der Kategorie Programmierung; Hallo, ich bekomme vom gcc folgende Warnung, wenn ich meinen C-Code compiliere: PHP-Code: gcc pointer2 . c  - o pointer2  - Wall ...

  1. #1
    Reg.-Benutzer
    Reg.-Datum
    17.06.2010
    Ort
    Dresden
    Beiträge
    63

    Standard gcc-Warnung: [-Wmissing-braces]

    Hallo,

    ich bekomme vom gcc folgende Warnung, wenn ich meinen C-Code compiliere:

    PHP-Code:
    gcc pointer2.-o pointer2 -Wall
    In file included from pointer2
    .c:33:0:
    waehrung.datIn function ‘main’:
    waehrung.dat:1:1warningmissing braces around initializer [-Wmissing-braces]
    waehrung.dat:1:1warning: (near initialization for ‘L[0]) [-Wmissing-braces
    Leider kann ich damit nichts anfangen. Kann mir jemand erklären woher die Warnung kommt und wie ich sie ausmärzen kann?
    Hier der Quellcode:
    PHP-Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    struct land
    {
        
    char name[30+1];
        
    char land[3+1];
        
    char waehrung[3+1];
        
    double umrechnung;
        
    double verkauf;
    };

    void ausgabe(struct land *Lint s)
    {
        
    int i;
        for(
    i=0;i<s;i++)
        
    L[i].verkauf=L[i].umrechnung*0.92;
        
    printf("%-30s, %-3s, %-3s,%.4f,%.4f\n"
            
    ,L[i].name,L[i].land,L[i].waehrung,L[i].umrechnung,L[i].verkauf);
    }

    int compare(const void *p1,const void *p2)
    {
        return 
    strcmp( ((struct land *)p1)->name,((struct land *)p2)->name );
    }

    int main()
    {

    struct land L[]=
    {
        
    #include "waehrung.dat"
    };
          
    int s=sizeof(L)/sizeof(struct land);

    ausgabe(L,s);
        
    qsort(L,s,sizeof(struct land),compare);
        
    ausgabe(L,s);
        
    return 
    0;

    Das Ideal scheitert an der Wirklichkeit

  2. #2
    Reg.-Benutzer
    Reg.-Datum
    17.06.2010
    Ort
    Dresden
    Beiträge
    63

    Standard

    Kleiner Nachtrag:
    PHP-Code:
    void ausgabe(struct land *Lint s)
    {
        
    int i;
        for(
    i=0;i<s;i++)
        {
        
    L[i].verkauf=L[i].umrechnung*0.92;
        
    printf("%-30s, %-3s, %-3s,%.4lf,%.4lf\n",
            
    L[i].name,L[i].land,L[i].waehrung,L[i].umrechnung,L[i].verkauf);
        }
        
    printf("\n");

    L[i].verkauf hab ich erst später hinzugefügt und die Klammern vergessen.

    Das Programm macht was es soll, aber die Warnung bleibt. :/
    Kann das jemand erklären?
    Das Ideal scheitert an der Wirklichkeit

  3. #3
    Administrator + Moderator
    C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
    Avatar von Klotzkopp
    Reg.-Datum
    10.07.2001
    Ort
    Essen
    Beiträge
    8.980

    Standard

    Der Compiler beanstandet Zeile 1 in waehrung.dat. Es wäre also hilfreich, wenn du uns zumindest den Anfang dieser Datei zeigen würdest.
    "Funktioniert nicht" ist keine ausreichende Problembeschreibung.

  4. #4
    Reg.-Benutzer
    Reg.-Datum
    17.06.2010
    Ort
    Dresden
    Beiträge
    63

    Standard

    Natürlich, tut mir Leid:

    PHP-Code:
    "Finnland","SF ","FIM",0.301,0,
    "Norwegen","N  ","NOK",0.238,0,
    "Schweden","S  ","SEK",0.214,0,
    "Daenemark","DK ","DKK",0.2595,0,
    "Irland","IRL","IEP",2.46,0,
    "Grossbritanien","GB ","GBP",2.605,0,
    "Niederlande","NL ","NLG",0.9035,0,
    "Frankreich","F  ","FRF",0.298,0,
    "Belgien","B  ","BEF",0.048,0,
    "Tschechien","CS ","CSK",0.062,0,
    "Oesterreich","A  ","ATS",0.144,0,
    "Schweiz","CH ","CHF",1.143,0,
    "Ungarn","H  ","HUF",0.023,0,
    "Italien","I  ","ITL",0.00108,0,
    "Spanien","E  ","ESB",0.01305,0,
    "Portugal","P  ","PTE",0.011,0,
    "Griechenland","G  ","GRD",0.0082,0,
    "Tuerkei","TR ","TRL",0.000138,
    Das Ideal scheitert an der Wirklichkeit

  5. #5
    Administrator + Moderator
    C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
    Avatar von Klotzkopp
    Reg.-Datum
    10.07.2001
    Ort
    Essen
    Beiträge
    8.980

    Standard

    Es ist genau das, was der Wortlaut der Warnung aussagt: Da fehlen die geschweiften Klammern. So muss das aussehen:

    Code:
    {"Finnland","SF ","FIM",0.301,0},
    "Funktioniert nicht" ist keine ausreichende Problembeschreibung.

  6. #6
    Reg.-Benutzer
    Reg.-Datum
    17.06.2010
    Ort
    Dresden
    Beiträge
    63

    Standard

    So ist das also. Mal angenommen, ich hätte keine Berechtigung die Datei zu verändern, könnte ich die Warnung auch wegbekommen, wenn ich was am Quellcode verändere, oder muss die Änderung zwingend in der waehrung.dat vorgenommen werden?
    Das Ideal scheitert an der Wirklichkeit

  7. #7
    Administrator + Moderator
    C++: Compiler, IDEs, APIs / C und C++, Algorithmik, Basic, Sonstige, .NET
    Avatar von Klotzkopp
    Reg.-Datum
    10.07.2001
    Ort
    Essen
    Beiträge
    8.980

    Standard

    Wenn du die Datei nicht ändern kannst, bleibt dir nur die Möglichkeit, sie zur Laufzeit einzulesen.
    "Funktioniert nicht" ist keine ausreichende Problembeschreibung.

  8. #8
    Reg.-Benutzer
    Reg.-Datum
    08.01.2012
    Beiträge
    111

    Standard

    Zitat Zitat von Kadaj Beitrag anzeigen
    So ist das also. Mal angenommen, ich hätte keine Berechtigung die Datei zu verändern, könnte ich die Warnung auch wegbekommen, wenn ich was am Quellcode verändere, oder muss die Änderung zwingend in der waehrung.dat vorgenommen werden?
    Schieb das file durch ein kleines perl- oder shell script, das daraus korrekten C-code macht.

  9. #9
    Reg.-Benutzer
    Reg.-Datum
    17.06.2010
    Ort
    Dresden
    Beiträge
    63

    Standard

    Ok, danke euch beiden! :-)
    Das Ideal scheitert an der Wirklichkeit

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Warnung hilfe warum
    Von Vampirgeist im Forum Datenbanken
    Antworten: 2
    Letzter Beitrag: 22.11.2006, 23:03
  2. Warnung per Handy
    Von -[eXplorer]- im Forum Hardware
    Antworten: 9
    Letzter Beitrag: 05.10.2006, 18:04
  3. IE + Webdav + Warnung
    Von Rain im Forum Windows Betriebssysteme
    Antworten: 0
    Letzter Beitrag: 10.02.2006, 18:37
  4. Virus-Warnung
    Von bimei im Forum Daily Talk
    Antworten: 5
    Letzter Beitrag: 09.11.2000, 13:39

Die häufigsten Suchbegriffe für diese Seite:

Bisher noch keine Treffer von einer Suchmaschine