Fehlermeldung



  • Hallo Forum,

    ich progge gerade an einer Autofirma, welche Bestellformulare verwertet und dann je nach Anfrage bestimmtes tut.

    Der Quellcode:

    //Firma.cpp
    
    #include <iostream>
    #include <strings.h>
    
    namespace Produktion
    {
    
      class Auto
      {
        private:
    
          char Klasse, Sorte, Farbe, Extras, Beschreibung;
          unsigned int ID;
          float Preis;
    
        public:
    
          void produzieren(char Klasse, char Sorte, char Farbe, char Extras, char Beschreibung, unsigned int ID, float Preis, unsigned int Anzahl);
          void zerstoeren(unsigned int ID);
      };
    
    }
    
    namespace Verkauf
    {
    
      void verkaufen(unsigned int ID);
    
    }
    
    namespace Management
    {
    
      using namespace std;
    
      char Klasse, Sorte, Farbe, Extras;
    
      cout << "Willkommen bei SeaShell!" << '\n' << "Mit dem folgenden Bestellformular können sie sich bequem und einfach ihr Traumauto für wenig Geld" << '\n' << "und zu einem fairen Preis erwerben!";
      system("Pause>nul");
      cout << "Um ein Auto aus unserem Archiv zu kaufen, wählen sie bitte die 1" << '\n' << "Für Spezialanfertigungen wählen sie bitte die 2" << '\n';
      cin.getline(Klasse, 1);
    
    }
    
    int main()
    {
    return 0;
    }
    

    Die Fehlermeldung:

    41: expected constructor, destructor, or type conversion before '<<' token

    Doch ich finde einfach keinen Fehler in meinem Programm 😕

    Grüße
    Gapa



  • Code gehört in Funktionen. Du kannst den nicht einfach in einen Namespace packen.



  • Hallo nochmal,

    vielen DANK für die schnelle Antwort!!!
    Jetzt stellt sich mir noch eine Frage:

    Wenn ich eine Char-Variable deklariere bzw. definiere bzw. initialisiere, wann muss ich dann die eckigen Klammern verwenden und wann nicht?

    Bsp:

    char Name[];
    //oder
    
    char Name;
    
    //oder
    
    char Name[3];
    

    Was hat dann genau welchen Effekt?

    Und wie lasse ich per cin eine Char-variable eingeben, welche nur 5 Zeichen beinhalten soll?



  • Schnelle Antwort: Nimm string - ist in jeder (für Dich relevanten) Hinsicht besser.

    Wenn Du mit Zeichenketten (im Englischen "strings" genannt), dann nimm sie auch einfach und versuche nicht, das über char-Arrays abzubilden.

    Zur Allgemeinbildung:

    char Name[5]; // Array aus 5 chars 
    char Name;    // ein einzelnes char
    char Name[];  // char-Array unbestimmter Länge (ACHTUNG: Nur in speziellen Situationen verwendbar ... )
    

    Gruß,

    Simon2.


Anmelden zum Antworten