2012-03-28 2 views
1

Ich versuche, eine Klasse in C++ zu schreiben, aber wenn ich zu kompilieren versuchen, schlägt es mit diesem Fehler:C++ Fehlercode C1004

„schwerwiegender Fehler C1004: unerwartete Ende der Datei gefunden“

Ich benutze VS2010. Die Microsoft-Dokumentation (http://msdn.microsoft.com/en-us/library/4exw7xyc (v = vs.80) .aspx) sagt, dass dieser Fehler durch eine fehlende schließende Klammer, Semikolon usw. verursacht wird. Aber ich kann sehen durch Code-Hervorhebung, dass alle geschweiften Klammern übereinstimmen, und ich glaube, dass Sie benachrichtigt werden, wenn Sie ein Semikolon verpassen.

class HashTable { 
protected: 
    int HighValue; 
    char** AddressTable; 
    int* Table; 

public: 
    HashTable(){ 
     HighValue = 0; 
    } 
    ~HashTable(){ 
     delete AddressTable; 
     delete Table; 
    } 
    void AddPair(char* address, int value){ 
     AddressTable[HighValue] = address; 
     Table[HighValue] = value; 
     HighValue += 1; 
    } 
    int GetValue(char* address){ 
     for (int i = 0; i<HighValue; i++){ 
      if (AddressTable[HighValue] == address) { 

       return Table[HighValue]; 
      } 
     } 
     //If the value doesn't exist throw an exception to the calling program 
     throw 1; 
    }; 

} 

Antwort

2

Klassendefinitionen müssen mit einem Semikolon enden:

class HashTable { 

    // ... 

}; 
+0

Danke, dass es behoben. – user1296991

+0

Sobald ich die erste Zeile dieses Codes sah, wusste ich ... GCC gibt aber etwas anderes. @ user1296991, wenn eine Antwort Ihr Problem behebt, klicken Sie auf das Häkchen daneben, um die Antwort zu akzeptieren. Es ist eine Win-Win-Situation auf mehreren Ebenen. – chris