Akasya Geschrieben 26. September 2007 Geschrieben 26. September 2007 Hallo zusammen, ich habe ein Problem. Beim kompilieren bekomme ich folgende Fehler c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(15) : error C2061: Syntaxfehler : Bezeichner 'uint' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : error C2992: 'Bucket' : Ungueltige oder fehlende Vorlagen-Parameterliste c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Deklaration von 'Bucket' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(49) : error C2061: Syntaxfehler : Bezeichner 'uint' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(50) : error C2065: 'size' : nichtdeklarierter Bezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(50) : error C2039: 'addArticle' : Ist kein Element von 'Bucket' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Deklaration von 'Bucket' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(50) : error C2061: Syntaxfehler : Bezeichner 'Article' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(61) : error C2061: Syntaxfehler : Bezeichner 'uint' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2501: 'Article' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2059: Syntaxfehler : ';' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : fatal error C1903: Weiterverarbeitung nach vorhergehendem Fehler nicht moeglich; Kompilierung wird abgebrochen. main.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(29) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(35) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(72) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(89) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(32) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(115) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(32) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(115) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(29) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(24) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<2>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(35) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(24) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<2>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(32) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(32) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' Fehler beim Ausführen von cl.exe. Hashing.exe - 21 Fehler, 0 Warnung(en) woran könnte es liegen? Zitieren
aLeXanDer.. Geschrieben 26. September 2007 Geschrieben 26. September 2007 bin ja recht neu hier und auch nicht so erfahren, aber es steht ja in jeder zeile was der fehler is und wenn du dann deinen code da hast siehste doch was dann net stimmt btw also ich bräuchte auch noch den code zum ankuckn für die fehler aber ich kenn mich ja da noch net aus vielleicht können des die Profis auch nur mit diesen daten die du bereits angegebn hast. Zitieren
Klotzkopp Geschrieben 26. September 2007 Geschrieben 26. September 2007 woran könnte es liegen?An deinem Code. Und da vermutlich nur die main.cpp von dir ist, wäre es gut, wenn du die mal zeigst Zitieren
Akasya Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 anbei meine main.cpp #include <iostream> #include <string> #include "Dynamic_Hashing.h" #include "Article.h" #include <sstream> #define BUCKET_SIZE 2 #define BIG_PRIM 37956673 using namespace std; class UI { private: Dynamic_Hashing<BUCKET_SIZE, BIG_PRIM > h; public: UI() : h("HashFile") {} char menu(void); void newArtikel(void); void showArtikel(void); void showAll(void); void setDynamic_Hashing(void); }; int main (int argc, char * const argv[]) { UI ui; cout << endl << "Dynamic_Hashing" << endl; //ui.setDynamic_Hashing(); char input = ui.menu(); while (input != 'q') { switch (input) { case 'D': case 'd': ui.showAll(); break; case 'A': case 'a': ui.newArtikel(); break; case 's': case 'S': ui.showArtikel(); break; case 'Q': case 'q': return 0; default: cout << "input incorrect: " << input << endl; } input = ui.menu(); } return 0; } char UI::menu(void) { cout << "choose: [a]dd article - earch for an article - [d]isplay all articles - [q]uit" << endl; string input; cin >> input; return input[0]; } void UI::setDynamic_Hashing(void) { string name; cout << "Hash-File: "; cin >> name; } void UI::newArtikel(void) { int nr = 0; string name; string tmp; float price = 0; cout << "article number: "; cin >> tmp; nr = atoi(tmp.c_str()); if (nr == 0) { cout << "article number must be a integer > 0" << endl; return; } cout << endl << "article description: "; cin >> name; if (name.length() > 19) { cout << "description must not be longer than 19 chars" << endl; return; } cout << endl << "article price: "; cin >> tmp; price = atof(tmp.c_str()); if (price == 0.0) { cout << "price must be a float > 0 (delimiting char = '.')" << endl; return; } cout << endl; cout << nr; try { h.insert(new Article(nr,name,price)); cout << "article has been created: (" << nr << ") " << name << " " << price << " euro" << endl; } catch ( Dynamic_Hashing_Exception ex ) { cout << ex.getMessage(); Dynamic_Hashing_Exception* cause = ex.getCause(); while (cause != NULL) { cause = cause->getCause(); cout << cause->getMessage() << endl; } return; } } void UI::showArtikel(void) { int nr; cout << "article nummber: "; cin >> nr; try { Article * a; a = h.retrieve(nr); if (a != NULL) { a->display(); } else { cout << "article with id " << nr << " doesn't exist!" << endl; } } catch (Dynamic_Hashing_Exception ex) { cout << ex.getMessage(); } cout << endl; } void UI::showAll(void) { try { h.display(); } catch (Dynamic_Hashing_Exception ex) { cout << ex.getMessage(); } } Zitieren
Klotzkopp Geschrieben 26. September 2007 Geschrieben 26. September 2007 anbei meine main.cppWie schafft man es, Codetags zu benutzen, aber trotzdem die Einrückung kaputtzumachen? Was ist mit Dynamic_Hashing.h und bucket.h? Sind die auch von dir? Zitieren
Akasya Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 uups, sorry, habe es gar nicht gesehen. anbei dynamic_hashing.h #define ulint unsigned long long int #define uint unsigned int #include <string> #include <fstream> #include <cstdio> #include "Bucket.h" #include "RadixTrie.h" #include "Article.h" #include "Dynamic_Hashing_Exception.h" using namespace std; template <uint size, uint modFac> class Dynamic_Hashing { private: string fileName; fstream fileStream; Bucket<size> buck; RadixTrie radi; int hash(int a) { return a % modFac; } ulint getBucketPos(ulint bucketNumber) { return size * Article::getSize() * bucketNumber; } public: Dynamic_Hashing(string name) { fileName = name; fileStream.open(fileName.c_str(), ios::in | ios::out | ios::binary | ios::ate); if (!fileStream.is_open()) { fstream createFile; createFile.open(fileName.c_str(), fstream::out |fstream::binary); try { buck.write(createFile,0); } catch (Dynamic_Hashing_Exception ex) { cout << ex.getMessage() << " " << ex.getCause() << endl; } createFile.flush(); createFile.close(); } else { // getting the file size uint fileSize = fileStream.tellg(); // getting number of article int artNum = fileSize/Article::getSize(); Article * arti[artNum]; // resetting filePointer fileStream.seekg(ios::beg); // getting articles for (int i = 0; i < artNum; i++) { Article * a = new Article(fileStream); arti[i] = a; } fileStream.close(); remove(fileName.c_str()); fstream createFile; createFile.open(fileName.c_str(), fstream::out |fstream::binary); buck.write(createFile,0); createFile.flush(); createFile.close(); //writin' all 'em real ones back for (int i = 0; i < artNum; i++) { if (arti[i]->getArticleNumber() != 0) { insert(arti[i]); } } } fileStream.flush(); fileStream.close(); } void insert(Article * art); Article * retrieve(int artNum); void display(); }; template <uint size, uint modFac> void Dynamic_Hashing<size,modFac>::insert (Article * a) { if (retrieve(a->getArticleNumber()) != NULL) { cout << "Article with Article Number " << a->getArticleNumber() << " already exists!" << endl; return; } cout << "inserting Article with Hash " << hash(a->getArticleNumber()) << endl; if (a->getArticleNumber() == 0) { throw Dynamic_Hashing_Exception("Article Number musst not be 0!"); } fileStream.open(fileName.c_str(), ios::in | ios::out | ios::binary); if (!fileStream.is_open()) { throw Dynamic_Hashing_Exception("i/o exception while opening file"); } int buckNum; //retrieving bucket if (radi.getExtNodeCount() == 1) { buckNum = 0; } else { buckNum = radi.retrieve(hash(a->getArticleNumber())); } int curDepth = radi.getSearchDepth(); // get the bucket buck.read(fileStream,getBucketPos(buckNum)); //ist the bucket full? if (!buck.isFull()) { //no //insert adress in bucket->done buck.addArticle(a); try { buck.write(fileStream, getBucketPos(buckNum)); } catch (Dynamic_Hashing_Exception e) { //todo cout << "Dynamic_Hashing_Exception: writing bucket" << endl; } } else { //yes Bucket<size> newBuc; Bucket<size> oldBuc; //split buckets for (int i = 0; i < size; ++i) { Article * art = buck.getArticle(i); if ((hash(art->getArticleNumber()) >> curDepth) & 1 == 1) { newBuc.addArticle(art); } else { oldBuc.addArticle(art); } } bool wasFull = false; // add new article to right bucket if ((hash(a->getArticleNumber()) >> curDepth) & 1 == 1) { if(!newBuc.isFull()) { newBuc.addArticle(a); } else { wasFull = true; } } else { if(!oldBuc.isFull()) { oldBuc.addArticle(a); } else { wasFull = true; } } int newBuckNum = radi.getExtNodeCount(); oldBuc.write(fileStream, getBucketPos(buckNum)); newBuc.write(fileStream, getBucketPos(newBuckNum)); if(wasFull) { if ((hash(a->getArticleNumber()) >> curDepth + 1) & 1 == 1) { radi.insert(hash(a->getArticleNumber()),buckNum); } else { radi.insert(hash(a->getArticleNumber()),newBuckNum); } this->insert(a); } else { radi.insert(hash(newBuc.getArticle(0)->getArticleNumber()),newBuckNum); } } fileStream.flush(); fileStream.close(); }; template <uint size, uint modFac> Article * Dynamic_Hashing<size,modFac>::retrieve (int artNum) { int buckNum = radi.retrieve(hash(artNum)); fileStream.open(fileName.c_str() ,ios::binary | ios::in | ios::out); if (!fileStream.is_open()) { throw Dynamic_Hashing_Exception("i/o exception while opening file"); } buck.read(fileStream,getBucketPos(buckNum)); fileStream.flush(); fileStream.close(); for (int i = 0; i < buck.getCurrentArticles(); ++i) { Article * a = buck.getArticle(i); if (a->getArticleNumber() == artNum) { return a; } } return NULL; } template<uint size, uint modFac> void Dynamic_Hashing<size,modFac>::display() { fileStream.open(fileName.c_str() ,ios::binary | ios::in | ios::ate); // getting the file size ulint fileSize = fileStream.tellg(); // getting number of article int artNum = fileSize/Article::getSize(); // resetting filePointer fileStream.seekg(ios::beg); // getting articles for (ulint i = 0; i < artNum; i++) { if( i == 0) { cout << "Bucket " << i << endl; } else if(i % size == 0) { cout << "Bucket " << i / size << endl; } Article * a = new Article(fileStream); a->display(); } fileStream.close(); } bucket.h /** * This is the Bucket class for the Dynamic_Hashing Project. * */ #ifndef _BUCKET_H_ #define _BUCKET_H_ #include <string> #include <fstream> #include <sstream> #include "Article.h" #include "Dynamic_Hashing_Exception.h" template<uint size> class Bucket { private: Article *articles[size]; uint currentArticles; public: Bucket() { currentArticles = 0; } void read(std::fstream & inputStream, ulint pos) ; void addArticle(Article *art) ; Article* getArticle(uint i); void write(std::fstream & stream, ulint pos) ; uint getCurrentArticles() { return currentArticles; } bool isFull() { return currentArticles == size; } }; template <uint size> void Bucket<size>::addArticle(Article *art) { if (currentArticles == size) { throw Dynamic_Hashing_Exception("Bucket is full."); } articles[currentArticles] = art; ++currentArticles; } template<uint size> Article* Bucket<size>::getArticle(uint i) { if (i >= currentArticles) { throw Dynamic_Hashing_Exception("Article index out of bounds."); } return articles[i]; } template<uint size> void Bucket<size>::read(std::fstream & stream, ulint pos) { stream.seekg(pos); currentArticles = 0; for (int art = 0; art < size; ++art) { articles[art] = new Article(stream); if (articles[art]->getArticleNumber() != 0) { ++currentArticles; } } } template<uint size> void Bucket<size>::write(std::fstream & stream, ulint pos) { if (!stream.is_open()) { throw Dynamic_Hashing_Exception("Stream is not open."); } stream.seekp(pos); if (stream.fail()) { throw Dynamic_Hashing_Exception("Position seems out of bounds. Stream in fail state."); } Article* nullArticle = new Article(0,"",0); for (uint art = 0; art < size; ++art) { if (art < currentArticles) { articles[art]->write(stream); } else { nullArticle->write(stream); } } } #endif /* _BUCKET_H_ */ Zitieren
Klotzkopp Geschrieben 26. September 2007 Geschrieben 26. September 2007 Dadurch, dass du in bucket.h das uint-Define benutzt, das in dynamic_hashing.h gesetzt wird, musst du überall, wo du bucket.h einbindest, vorher dynamic_hashing.h einbinden. Offenbar ist das irgendwo nicht passiert. Außerdem scheint dein Compiler (VC6?) "long long" nicht zu unterstützen. Ich finde es übrigens bedenklich, dass dynamic_hashing.h keine Include-Guards hat. Zitieren
Akasya Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 Dadurch, dass du in bucket.h das uint-Define benutzt, das in dynamic_hashing.h gesetzt wird, musst du überall, wo du bucket.h einbindest, vorher dynamic_hashing.h einbinden. Offenbar ist das irgendwo nicht passiert. danke, ich habe jetzt nur noch zwei fehler Kompilierung läuft... Article.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(8) : warning C4182: Die #include-Verschachtelungsebene ist 362 tief; Endlosschleife moeglich c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(8) : fatal error C1076: Compiler-Beschraenkung: Interne Heap-Grenze erreicht; Verwenden Sie /Zm, um eine hoehere Grenze anzugeben main.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(8) : warning C4182: Die #include-Verschachtelungsebene ist 362 tief; Endlosschleife moeglich c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(8) : fatal error C1076: Compiler-Beschraenkung: Interne Heap-Grenze erreicht; Verwenden Sie /Zm, um eine hoehere Grenze anzugeben Fehler beim Ausführen von cl.exe. Hashing.exe - 2 Fehler, 2 Warnung(en) Zitieren
carstenj Geschrieben 26. September 2007 Geschrieben 26. September 2007 Hi, Ich finde es übrigens bedenklich, dass dynamic_hashing.h keine Include-Guards hat. ...was natürlich dann genau zu diesem Fehler führt: #include-Verschachtelungsebene ist 362 tief; Endlosschleife moeglich Include guard - Wikipedia, the free encyclopedia Zitieren
Akasya Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 Das habe ich nun eingebaut. ich habe noch zwei fehler Kompilierung läuft... Article.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(319) : fatal error C1004: Unerwartetes Dateiende gefunden main.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(319) : fatal error C1004: Unerwartetes Dateiende gefunden Fehler beim Ausführen von cl.exe. Hashing.exe - 2 Fehler, 0 Warnung(en) Zitieren
carstenj Geschrieben 26. September 2007 Geschrieben 26. September 2007 Hi, #endif vergessen? Zitieren
Akasya Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 ja, das hatte ich auch schon probiert, aber wenn ich #endif einfüge tauchen 40 Fehler auf. Zitieren
Guybrush Threepwood Geschrieben 26. September 2007 Geschrieben 26. September 2007 Nur weil du ohne nur 2 Fehler bekommst heißt das nicht das das richtiger ist ein #if muss mit einem #endif abgeschlossen werden. Zitieren
Akasya Geschrieben 26. September 2007 Autor Geschrieben 26. September 2007 ok, das habe ich eingefügt aber wie gesagt, danach bekomme ich 40 fehler: --------------------Konfiguration: Hashing - Win32 Debug-------------------- Kompilierung läuft... Article.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(20) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(20) : error C2501: 'Article' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(20) : error C2501: 'articles' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(29) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(31) : error C2061: Syntaxfehler : Bezeichner 'Article' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(33) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(33) : error C2501: 'Article' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(33) : error C2501: 'getArticle' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(35) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(50) : error C2061: Syntaxfehler : Bezeichner 'Article' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2501: 'Article' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2059: Syntaxfehler : ';' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(62) : error C2065: 'size' : nichtdeklarierter Bezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(71) : error C2954: Vorlagendefinitionen koennen nicht verschachtelt werden c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(72) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(89) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(36) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(36) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(114) : error C2061: Syntaxfehler : Bezeichner 'Article' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(115) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(115) : error C2501: 'Article' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(115) : error C2501: 'retrieve' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(123) : error C2061: Syntaxfehler : Bezeichner 'Article' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(260) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(260) : error C2501: 'Article' : Fehlende Speicherklasse oder Typbezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(260) : error C2086: 'Article' : Neudefinition c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(260) : error C2059: Syntaxfehler : ';' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(260) : error C2065: 'modFac' : nichtdeklarierter Bezeichner c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(289) : error C2954: Vorlagendefinitionen koennen nicht verschachtelt werden main.cpp c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(29) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(35) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(47) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<size>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(72) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(89) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(36) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(36) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(119) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<size,modFac>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(29) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(28) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<2>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\bucket.h(35) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(28) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Bucket<2>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(36) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\dynamic_hashing.h(36) : error C2632: 'long' gefolgt von 'long' ist unzulaessig c:\users\akasya\desktop\hashing\fh\algdat\dynamic_hashing\main.cpp(16) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'Dynamic_Hashing<2,37956673>' Fehler beim Ausführen von cl.exe. Hashing.exe - 40 Fehler, 0 Warnung(en) Zitieren
Hakawamu Geschrieben 1. Oktober 2007 Geschrieben 1. Oktober 2007 eigentlich musst du nur selbst lesen. c:\users\akasya\desktop\hashing\fh\algdat\dynamic_ hashing\bucket.h(20) : error C2143: Syntaxfehler : Fehlendes ';' vor '*' Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.