Syntax Error bei Struktur



  • Hi, ich habe einen Syntax Error bei einer Struktur 🙄

    #include <conio.h>
    
    struct sword
    {
           short range;
           short damage;
    };
    
    sword Lichtbringer;
    sword Feuerzunge;
    sword Eiskratzer;
    sword Metalldorn;
    sword Feuerblitz;
    
    //------------------------------------
    //---Lichtbringer
    //------------------------------------
    
    Lichtbringer.damage = 10;
    Lichtbringer.range  = 05;
    
    //------------------------------------
    //---Feuerzunge
    //------------------------------------
    
    Feuerzunge.damage   = 12;
    Feuerzunge.range    = 07;
    
    //------------------------------------
    //---Eiskratzer
    //------------------------------------
    
    Eiskratzer.damage   = 11;
    Eiskratzer.range    = 05;
    
    //------------------------------------
    //---Metalldorn
    //------------------------------------
    
    int main ()
    {
        getch();
        return 0;
    };
    
    structsandclasses.cpp:19: error: syntax error before `.' token
    
    structsandclasses.cpp:20: error: syntax error before `.' token
    
    structsandclasses.cpp:26: error: syntax error before `.' token
    
    structsandclasses.cpp:27: error: syntax error before `.' token
    
    structsandclasses.cpp:33: error: syntax error before `.' token
    
    structsandclasses.cpp:34: error: syntax error before `.' token
    

    MfG, C++Progger



  • Ich nehme mal an, du möchtest wissen, woran das liegt. Gefragt hast du ja nicht.

    Außerhalb von Funktionen kannst du nur initialisieren, nicht zuweisen.



  • #include <iostream>
    #include <conio.h> 
    
    struct sword 
    { 
        unsigned short wRange; 
        unsigned short wDamage; 
    }; 
    
    int main() 
    { 
        sword Lichtbringer; 
        sword Feuerzunge; 
        sword Eiskratzer; 
    
        Lichtbringer.wDamage = 10; 
        Lichtbringer.wRange  = 05; 
    
        Feuerzunge.wDamage   = 12; 
        Feuerzunge.wRange    = 07; 
    
        Eiskratzer.wDamage   = 11; 
        Eiskratzer.wRange    = 05; 
    
        std::cout << _T("Eiskratzer:") << std::endl;
        std::cout << _T(" - Damage: ") << Eiskratzer.wDamage << std::endl;
        std::cout << _T(" - Range: ") << Eiskratzer.wRange << std::endl;
    
        getch(); 
        return 0; 
    };
    

    Die Vairablen würde dir der Compiler warscheinlich komplett rausnehmen wenn die die garnet benutzt 😃



  • // conio.h is not standard
    #include <conio.h>
    
    struct sword
    {
    // you can create constructor to initialize global variables:
           sword(short range_, short damage_):range(range_),damage(damage_){}
           short range;
           short damage;
    };
    
    sword Lichtbringer(10,5);
    // 07 is octal value, that is 010 is equal to 8 which is likely not what you intended
    sword Feuerzunge(12,07);
    // etc.
    
    int main ()
    {
        return 0;
    }; // you don't need to put semicolon after functions
    

Anmelden zum Antworten