tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
21
ZUGRIFFE
958
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    Moin moin,

    bin eigentlich eingefleischter C# nutzer, aber muss diesesmal etwas in C++ entwickeln.
    Ich habe hier 2 Klassen die sich gegenseitig kennen sollen, aber dabei ein rekursives include provozieren.
    Mit #ifndef #define, #endif oder #pragma once krieg ich nur Fehlermeldungen wie "unerwartetes Dateiende"

    Hier die beiden Header:
    Memorie.h:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    #include "Karte.h";
    #include "Form1.h";
    namespace MemorieC {
        using namespace System::Collections::Generic;
     
        public ref class Memorie
        {
        //Attribute
        private:
            int paare; //Anzahl der Paare im Spiel
            int gefundenePaare; //Anzahl der gefundenen Paare
            List<Karte^>^ kartenListe; // die Liste | zweimal das „^“ weil es 2 Klassenverweise sind
            Karte^ letzteKarte; //die Karte, die gerade umgedreht wurde
            Karte^ letzteKarte2; //Hilfsvariabel, hab ich keine besser Lösung für gefunden
            Form1^ form; //Die Form, auf der die Karten angezeigt werden sollen
            bool warten; // gibt an, ob Karten gerade umgedreht wurden und deswegen gleich automatischen umgedreht werden. Solange muss der Spieler warten!
            Timer^ timer; // der Timer, der genutzt wird, um den Spieler warten zu lassen.
            static int wartezeit = 500; //Wartezeit = 500ms = 0,5s 
        public:
            static String^ PicturePath = Application::StartupPath + "\\"; //Hierraus werden alle Bilder geladen. Also der Pfad wo die Exe liegt. Man kann hier noch Unterordner angeben. Bsp: [...] + "\\Bilder\\";  
        //Konstruktoren
        public:
            Memorie(int anzahlPaare, Form1^ anzeigeForm);
        };
    }
    Karte.h:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    #include "Memorie.h";
    namespace MemorieC {
        public ref class Karte : public System::Windows::Forms::PictureBox
        {
        //Attribute
        public:
            static int width = 50; //Breite einer Karte | static heißt: kann nicht zur Laufzeit geändert werden (Der Compiler akzeptiert auch keine "width = x"angabe)
            static int height = 50; //Höhe einer Karte
            int index; // der Index der Karte, gibt an um welche Karte es sich handelt und welches Bild sie hat
            int x; //gibt an in welcher horizontalen Reihe auf dem Spielfeld sich die Karte befindet
            int y; //gibt an in welcher vertikalen Reihe auf dem Spielfeld sich die karte befindet
            static System::String^ upperImage = "back.png"; // der Name des Bildes, welches die Rückseite jeder Karte zeigt
            System::String^ downImage; // der Name des Bildes, welches die Vorderseite zeigt (abhängig vom Index)
        public:
            Karte(int index, int x, int y, Memorie^ memorie);
        };
    }
     

  2. #2
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Hi und Willkommen bei tutorials.de

    Das ist C++/CLI, also .NET-C++.
    Kein normales. Deshalb verschoben.

    edit:
    ; bei #includes gehören weg.
    Und wie hast du es probiert, damit die Fehlermeldungen gekommen sind?
     
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  3. #3
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    Zitat Zitat von sheel Beitrag anzeigen
    Und wie hast du es probiert, damit die Fehlermeldungen gekommen sind?
    So :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    #ifndef MEMORIE_H
    #define MEMORIE_H
     
    #include "Karte.h"
    #include "Form1.h"
    namespace MemorieC {
        using namespace System::Collections::Generic;
     
        public ref class Memorie
        {
        //Attribute
        private:
            int paare; //Anzahl der Paare im Spiel
            int gefundenePaare; //Anzahl der gefundenen Paare
            List<Karte^>^ kartenListe; // die Liste | zweimal das „^“ weil es 2 Klassenverweise sind
            Karte^ letzteKarte; //die Karte, die gerade umgedreht wurde
            Karte^ letzteKarte2; //Hilfsvariabel, hab ich keine besser Lösung für gefunden
            Form1^ form; //Die Form, auf der die Karten angezeigt werden sollen
            bool warten; // gibt an, ob Karten gerade umgedreht wurden und deswegen gleich automatischen umgedreht werden. Solange muss der Spieler warten!
            Timer^ timer; // der Timer, der genutzt wird, um den Spieler warten zu lassen.
            static int wartezeit = 500; //Wartezeit = 500ms = 0,5s 
        public:
            static String^ PicturePath = Application::StartupPath + "\\"; //Hierraus werden alle Bilder geladen. Also der Pfad wo die Exe liegt. Man kann hier noch Unterordner angeben. Bsp: [...] + "\\Bilder\\";  
        //Konstruktoren
        public:
            Memorie(int anzahlPaare, Form1^ anzeigeForm);
        };
    }
     
    #endif
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    
    #ifndef KARTE_H
    #define KARTE_H
     
    #include "Memorie.h"
    namespace MemorieC {
        public ref class Karte : public System::Windows::Forms::PictureBox
        {
        //Attribute
        public:
            static int width = 50; //Breite einer Karte | static heißt: kann nicht zur Laufzeit geändert werden (Der Compiler akzeptiert auch keine "width = x"angabe)
            static int height = 50; //Höhe einer Karte
            int index; // der Index der Karte, gibt an um welche Karte es sich handelt und welches Bild sie hat
            int x; //gibt an in welcher horizontalen Reihe auf dem Spielfeld sich die Karte befindet
            int y; //gibt an in welcher vertikalen Reihe auf dem Spielfeld sich die karte befindet
            static System::String^ upperImage = "back.png"; // der Name des Bildes, welches die Rückseite jeder Karte zeigt
            System::String^ downImage; // der Name des Bildes, welches die Vorderseite zeigt (abhängig vom Index)
        public:
            Karte(int index, int x, int y, Memorie^ memorie);
        };
    }
    #endif
     

  4. #4
    Avatar von sheel
    sheel sheel ist offline Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.504
    Passt eigentlich so.
    Welche Datei hat dann ein unerwartetes Dateiende?

    Und static bedeutet übrigens nicht, dass man die Variable nicht ändern kann.
    Du brauchst const (bzw. static const).
    Klopfer91 bedankt sich. 
    Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
    Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
    "Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?

  5. #5
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    zB meine Datei Karte.cpp
    Code :
    1
    2
    3
    4
    5
    6
    
    #include "StdAfx.h"
    #include "Karte.h"
     
    namespace MemorieC {
        Karte::Karte(int index, int x, int y, Memorie^ memorie) {}
    }
    Sagt Visual Studio "unerwartetes Dateiende" (C1004)
    oder error C2061: Syntaxfehler: Bezeichner 'Memorie' in Karte.h Z. 19 1 (Da beim Konstruktor)

    Es scheint als ob er den include dann ignoriert...
     

  6. #6
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Wenn sich die Dateien gegenseitig einbinden, mußt du folgendermaßen vorgehen:

    Code cpp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    #ifndef PROJECT_FILE1_H
    #   define PROJECT_FILE1_H
     
    public ref class X; // Vorwärtsdeklaration
     
    #else
     
    public ref class X {
       ...
    };
     
    #endif
    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  7. #7
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    @deepthroat
    Wenn ich es nach deiner Methode umschreibe sieht mein Code so aus:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    #ifndef MEMORIE_H
    #define MEMORIE_H
     
    public ref class Memorie;
     
    #else
     
    #include "Karte.h"
    #include "Form1.h"
    namespace MemorieC {
        using namespace System::Collections::Generic;
     
        public ref class Memorie
        {
        //Attribute
        private:
            int paare; //Anzahl der Paare im Spiel
            int gefundenePaare; //Anzahl der gefundenen Paare
            List<Karte^>^ kartenListe; // die Liste | zweimal das „^“ weil es 2 Klassenverweise sind
            Karte^ letzteKarte; //die Karte, die gerade umgedreht wurde
            Karte^ letzteKarte2; //Hilfsvariabel, hab ich keine besser Lösung für gefunden
            Form1^ form; //Die Form, auf der die Karten angezeigt werden sollen
            bool warten; // gibt an, ob Karten gerade umgedreht wurden und deswegen gleich automatischen umgedreht werden. Solange muss der Spieler warten!
            Timer^ timer; // der Timer, der genutzt wird, um den Spieler warten zu lassen.
            static int wartezeit = 500; //Wartezeit = 500ms = 0,5s 
        public:
            static String^ PicturePath = Application::StartupPath + "\\"; //Hierraus werden alle Bilder geladen. Also der Pfad wo die Exe liegt. Man kann hier noch Unterordner angeben. Bsp: [...] + "\\Bilder\\";  
        //Konstruktoren
        public:
            Memorie(int anzahlPaare, Form1^ anzeigeForm);
        };
    }
     
    #endif

    und die Karte.h:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    #ifndef KARTE_H
    #define KARTE_H
     
    public ref class Karte : public System::Windows::Forms::PictureBox;
     
    #else
     
    #include "Memorie.h"
    namespace MemorieC {
        public ref class Karte : public System::Windows::Forms::PictureBox
        {
        //Attribute
        public:
            static const int width = 50; //Breite einer Karte | kann nicht zur Laufzeit geändert werden (Der Compiler akzeptiert auch keine "width = x"angabe)
            static const int height = 50; //Höhe einer Karte
            int index; // der Index der Karte, gibt an um welche Karte es sich handelt und welches Bild sie hat
            int x; //gibt an in welcher horizontalen Reihe auf dem Spielfeld sich die Karte befindet
            int y; //gibt an in welcher vertikalen Reihe auf dem Spielfeld sich die karte befindet
            static const System::String^ upperImage = "back.png"; // der Name des Bildes, welches die Rückseite jeder Karte zeigt
            System::String^ downImage; // der Name des Bildes, welches die Vorderseite zeigt (abhängig vom Index)
        public:
            Karte(int index, int x, int y, Memorie^ memorie);
        };
    }
    #endif

    Nur jetzt krieg ich noch mehr Fehler:

    C2027: Verwendung des unbekannten Typs 'Memorie'
    C2061. Syntaxfehler 'Memorie'
    C2143: Syntaxfehler : Es fehlt ',' vor ';'

    Und unendlich viele weitere Fehler
    Geändert von Klopfer91 (10.11.11 um 08:31 Uhr)
     

  8. #8
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Sorry, ich hab es genau falschherum aufgeschrieben. Ändere das #ifndef in #ifdef.

    Und du mußt die Klasse natürlich in beiden Fälllen im richtigen Namespace deklarieren.

    Gruß
    Klopfer91 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  9. #9
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    #ifdef MEMORIE_H
    #define MEMORIE_H
     
    namespace MemorieC {
    public ref class Memorie;
    }
     
    #else
     
    #include "Karte.h"
    #include "Form1.h"
    namespace MemorieC {
        using namespace System::Collections::Generic;
     
        public ref class Memorie
        {
        //Attribute
        private:
            int paare; //Anzahl der Paare im Spiel
            int gefundenePaare; //Anzahl der gefundenen Paare
            List<Karte^>^ kartenListe; // die Liste | zweimal das „^“ weil es 2 Klassenverweise sind
            Karte^ letzteKarte; //die Karte, die gerade umgedreht wurde
            Karte^ letzteKarte2; //Hilfsvariabel, hab ich keine besser Lösung für gefunden
            Form1^ form; //Die Form, auf der die Karten angezeigt werden sollen
            bool warten; // gibt an, ob Karten gerade umgedreht wurden und deswegen gleich automatischen umgedreht werden. Solange muss der Spieler warten!
            Timer^ timer; // der Timer, der genutzt wird, um den Spieler warten zu lassen.
            static int wartezeit = 500; //Wartezeit = 500ms = 0,5s 
        public:
            static String^ PicturePath = Application::StartupPath + "\\"; //Hierraus werden alle Bilder geladen. Also der Pfad wo die Exe liegt. Man kann hier noch Unterordner angeben. Bsp: [...] + "\\Bilder\\";  
        //Konstruktoren
        public:
            Memorie(int anzahlPaare, Form1^ anzeigeForm);
        };
    }
     
    #endif
    C1014: zu viele Headerdateien (wieder dieser rekusive include)

    Soll ich sonst mal das Projekt hochladen?
     

  10. #10
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.

    Hoffentlich ist bald Wochenende...

    Das #define muss natürlich dann in den #else Zweig.

    Gruß
    Klopfer91 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  11. #11
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    Jetzt hab ich 31 Fehler.
    Ich poste hier jetzt auch einmal die dazugehörige Form.
    Vielleicht hilft das...

    Für den Fall dass mein Compiler einfach nur spinnt hier das Projekt als zip:
    Memorie Visual C++ 2010 Projekt als Zip

    Memorie.h
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
    #ifdef MEMORIE_H
     
    namespace MemorieC {
    public ref class Memorie;
    }
     
    #else
    #define MEMORIE_H
     
    #include "Karte.h"
    #include "Form1.h"
    namespace MemorieC {
        using namespace System::Collections::Generic;
     
        public ref class Memorie
        {
        //Attribute
        private:
            int paare; //Anzahl der Paare im Spiel
            int gefundenePaare; //Anzahl der gefundenen Paare
            List<Karte^>^ kartenListe; // die Liste | zweimal das „^“ weil es 2 Klassenverweise sind
            Karte^ letzteKarte; //die Karte, die gerade umgedreht wurde
            Karte^ letzteKarte2; //Hilfsvariabel, hab ich keine besser Lösung für gefunden
            Form1^ form; //Die Form, auf der die Karten angezeigt werden sollen
            bool warten; // gibt an, ob Karten gerade umgedreht wurden und deswegen gleich automatischen umgedreht werden. Solange muss der Spieler warten!
            Timer^ timer; // der Timer, der genutzt wird, um den Spieler warten zu lassen.
            static int wartezeit = 500; //Wartezeit = 500ms = 0,5s 
        public:
            static String^ PicturePath = Application::StartupPath + "\\"; //Hierraus werden alle Bilder geladen. Also der Pfad wo die Exe liegt. Man kann hier noch Unterordner angeben. Bsp: [...] + "\\Bilder\\";  
        //Konstruktoren
        public:
            Memorie(int anzahlPaare, Form1^ anzeigeForm);
        };
    }
     
    #endif

    Karte.h
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    
    #ifdef KARTE_H
     
    namespace MemorieC {
    public ref class Karte : public System::Windows::Forms::PictureBox;
    }
     
    #else
    #define KARTE_H
     
    #include "Memorie.h"
    namespace MemorieC {
        public ref class Karte : public System::Windows::Forms::PictureBox
        {
        //Attribute
        public:
            static const int width = 50; //Breite einer Karte | kann nicht zur Laufzeit geändert werden (Der Compiler akzeptiert auch keine "width = x"angabe)
            static const int height = 50; //Höhe einer Karte
            int index; // der Index der Karte, gibt an um welche Karte es sich handelt und welches Bild sie hat
            int x; //gibt an in welcher horizontalen Reihe auf dem Spielfeld sich die Karte befindet
            int y; //gibt an in welcher vertikalen Reihe auf dem Spielfeld sich die karte befindet
            static const System::String^ upperImage = "back.png"; // der Name des Bildes, welches die Rückseite jeder Karte zeigt
            System::String^ downImage; // der Name des Bildes, welches die Vorderseite zeigt (abhängig vom Index)
        public:
            Karte(int index, int x, int y, Memorie^ memorie);
        };
    }
    #endif

    Form1.h
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    
    #pragma once
     
    namespace MemorieC {
        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
     
        /// <summary>
        /// Zusammenfassung für Form1
        /// </summary>
        public ref class Form1 : public System::Windows::Forms::Form
        {
        public:
            Form1(void)
            {
                InitializeComponent();
                //
                //TODO: Konstruktorcode hier hinzufügen.
                //
            }
     
        protected:
            /// <summary>
            /// Verwendete Ressourcen bereinigen.
            /// </summary>
            ~Form1()
            {
                if (components)
                {
                    delete components;
                }
            }
        private: System::Windows::Forms::MenuStrip^  menuStrip1;
        private: System::Windows::Forms::ToolStripMenuItem^  neuesSpielToolStripMenuItem;
        private: System::Windows::Forms::Panel^  panel1;
        protected: 
     
        private:
            /// <summary>
            /// Erforderliche Designervariable.
            /// </summary>
            System::ComponentModel::Container ^components;
     
    #pragma region Windows Form Designer generated code
            /// <summary>
            /// Erforderliche Methode für die Designerunterstützung.
            /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
            /// </summary>
            void InitializeComponent(void)
            {
                this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());
                this->neuesSpielToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
                this->panel1 = (gcnew System::Windows::Forms::Panel());
                this->menuStrip1->SuspendLayout();
                this->SuspendLayout();
                // 
                // menuStrip1
                // 
                this->menuStrip1->Items->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^  >(1) {this->neuesSpielToolStripMenuItem});
                this->menuStrip1->Location = System::Drawing::Point(0, 0);
                this->menuStrip1->Name = L"menuStrip1";
                this->menuStrip1->Size = System::Drawing::Size(292, 24);
                this->menuStrip1->TabIndex = 0;
                this->menuStrip1->Text = L"menuStrip1";
                // 
                // neuesSpielToolStripMenuItem
                // 
                this->neuesSpielToolStripMenuItem->Name = L"neuesSpielToolStripMenuItem";
                this->neuesSpielToolStripMenuItem->Size = System::Drawing::Size(74, 20);
                this->neuesSpielToolStripMenuItem->Text = L"Neues Spiel";
                this->neuesSpielToolStripMenuItem->Click += gcnew System::EventHandler(this, &Form1::neuesSpielToolStripMenuItem_Click);
                // 
                // panel1
                // 
                this->panel1->Location = System::Drawing::Point(12, 27);
                this->panel1->Name = L"panel1";
                this->panel1->Size = System::Drawing::Size(268, 227);
                this->panel1->TabIndex = 1;
                // 
                // Form1
                // 
                this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
                this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
                this->ClientSize = System::Drawing::Size(292, 266);
                this->Controls->Add(this->panel1);
                this->Controls->Add(this->menuStrip1);
                this->MainMenuStrip = this->menuStrip1;
                this->Name = L"Form1";
                this->Text = L"Memorie C++";
                this->menuStrip1->ResumeLayout(false);
                this->menuStrip1->PerformLayout();
                this->ResumeLayout(false);
                this->PerformLayout();
     
            }
    #pragma endregion
        private: System::Void neuesSpielToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
                     //MessageBox::Show("Test");
                 }
        };
    }
     

  12. #12
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Klopfer91 Beitrag anzeigen
    Jetzt hab ich 31 Fehler.
    Welche?

    Gruß
    Klopfer91 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  13. #13
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    Ich notiere mal nur die Unterschiedlichen...


    C1004: Unerwartetes Dateiende gefunden (Karte.cpp)
    C2059: Syntaxfehler: 'namespace' (Form1.h)
    C2061: Syntaxfehler: Bezeichner 'Form1' (Memorie.h)
    C2143: Syntaxfehler: Es fehlt ',' vor ';' (Karte.h Z4)
    C2143: Syntaxfehler: Es fehlt ';' vor '^' (Memorie.h Z24)
    C2143: Syntaxfehler: Es fehlt ';' vor '}' (Karte.h Z5)
    C2143: Syntaxfehler: Es fehlt ';' vor 'namespace' (Memorie.h Z12)
    C2238: Unerwartete(s) Token vor ';' (Form1.h Z4)
    C2653: 'Application': Keine Klasse oder Namespace (Memorie.h Z29)
    C3197: "public": Kann nur in Definitionen verwendet werden. (Memorie.h Z4)
    C3379: 'MemorieC::Karte::Form1': Eine geschachtelte Klasse kann keinen Assembler-Zugriffsspezifizierer als Teil seiner Deklaration haben (Form1.h Z14)
    C3845: "MemorieC::MemorieC::Memorie::PicturePath": Nur statische Datenmember können innerhalb einer Verweisklasse oder eines Werttyps initialisiert werden. (Memorie.h Z29)
    C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. (Memorie.h Z26)
     

  14. #14
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Zitat Zitat von Klopfer91 Beitrag anzeigen
    Ich notiere mal nur die Unterschiedlichen...
    unterschiedlich in welcher Hinsicht bzw. zu was?

    Bitte kopiere die Fehlermeldungen in [code]...[/code] Tags.

    Gruß
    Klopfer91 bedankt sich. 
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  15. #15
    Klopfer91 Klopfer91 ist offline Mitglied
    Registriert seit
    Nov 2011
    Beiträge
    18
    Okay...
    Unterschiedlich in der Hinsicht der Meldung und Datei in der der Fehlerauftritt.
    Hier sind alle:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    
    Fehler  30  error C1004: Unerwartetes Dateiende gefunden.   D:\Desktop\Fuer nele und kai-lea\MemorieC++\MemorieC++\Karte.cpp    7   1   MemorieC++
    Fehler  3   error C2059: Syntaxfehler: 'namespace'  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  4   1   MemorieC++
    Fehler  5   error C2059: Syntaxfehler: 'namespace'  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  5   1   MemorieC++
    Fehler  7   error C2059: Syntaxfehler: 'namespace'  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  6   1   MemorieC++
    Fehler  9   error C2059: Syntaxfehler: 'namespace'  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  7   1   MemorieC++
    Fehler  11  error C2059: Syntaxfehler: 'namespace'  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  8   1   MemorieC++
    Fehler  13  error C2059: Syntaxfehler: 'namespace'  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  9   1   MemorieC++
    Fehler  29  error C2061: Syntaxfehler: Bezeichner 'Form1'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    32  1   MemorieC++
    Fehler  1   error C2143: Syntaxfehler: Es fehlt ',' vor ';' d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Karte.h  4   1   MemorieC++
    Fehler  17  error C2143: Syntaxfehler: Es fehlt ';' vor '^' d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    24  1   MemorieC++
    Fehler  20  error C2143: Syntaxfehler: Es fehlt ';' vor '^' d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    26  1   MemorieC++
    Fehler  23  error C2143: Syntaxfehler: Es fehlt ';' vor '^' d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    29  1   MemorieC++
    Fehler  2   error C2143: Syntaxfehler: Es fehlt ';' vor '}' d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Karte.h  5   1   MemorieC++
    Fehler  16  error C2143: Syntaxfehler: Es fehlt ';' vor 'namespace' d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    12  1   MemorieC++
    Fehler  4   error C2238: Unerwartete(s) Token vor ';'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  4   1   MemorieC++
    Fehler  6   error C2238: Unerwartete(s) Token vor ';'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  5   1   MemorieC++
    Fehler  8   error C2238: Unerwartete(s) Token vor ';'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  6   1   MemorieC++
    Fehler  10  error C2238: Unerwartete(s) Token vor ';'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  7   1   MemorieC++
    Fehler  12  error C2238: Unerwartete(s) Token vor ';'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  8   1   MemorieC++
    Fehler  14  error C2238: Unerwartete(s) Token vor ';'   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  9   1   MemorieC++
    Fehler  26  error C2653: 'Application': Keine Klasse oder Namespace d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    29  1   MemorieC++
    Fehler  31  error C3197: "public": Kann nur in Definitionen verwendet werden.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    4   1   MemorieC++
    Fehler  15  error C3379: 'MemorieC::Karte::Form1': Eine geschachtelte Klasse kann keinen Assembler-Zugriffsspezifizierer als Teil seiner Deklaration haben  d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Form1.h  14  1   MemorieC++
    Fehler  28  error C3845: "MemorieC::MemorieC::Memorie::PicturePath": Nur statische Datenmember können innerhalb einer Verweisklasse oder eines Werttyps initialisiert werden.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    29  1   MemorieC++
    Fehler  18  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    24  1   MemorieC++
    Fehler  19  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    24  1   MemorieC++
    Fehler  21  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    26  1   MemorieC++
    Fehler  22  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    26  1   MemorieC++
    Fehler  24  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    29  1   MemorieC++
    Fehler  25  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    29  1   MemorieC++
    Fehler  27  error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.   d:\desktop\fuer nele und kai-lea\memoriec++\memoriec++\Memorie.h    29  1   MemorieC++
     

Ähnliche Themen

  1. Antworten: 7
    Letzter Beitrag: 25.10.11, 08:29
  2. Wie weise ich nach: Browser Problem oder Code Problem?
    Von Steb im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 10.03.11, 20:09
  3. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  4. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29

Stichworte