Methode in Methode Aufrufen
-
Der Compiler vermisst da ein Semikolon (vermutlich am Ende der letzten Klassendefinition, die du vor dem '#include <string>' stehen hast).
-
ich hab doch aber nirgends ein #include<string> stehen?? was mich nur wiundert ist das er in einem eigentlich unberühten header einen fehler findet, denn ich habe mti diewse header noch nich gespielt
-
Denn zeig doch mal, welche Header du in welcher Reihenfolge eingebunden hast. Wie gesagt, der Fehler liegt sicher nicht in der char_traits.h, sondern vor ihr - dem Compiler ist erst an dieser Stelle aufgefallen, daß die letzte Deklaration vor dem 'namespace std{...' unvollständig war.
PS: Das mit der <string> war geraten, aber naheliegend. Alternativ wäre auch die <iostream> möglich

-
das is MEIN header:
#ifndef CLASS_MENGE_H_INCLUDED #define CLASS_MENGE_H_INCLUDED #include<vector> using namespace std; class Menge { public: void hinzufuegen(int el); //Fügt Elemente in den Vector ein. void entfernen(int el); //Entfernt Elemente in der Liste. bool istvorhanden(int el); //Prüft ob ein Element schon vorhanden ist. size_t size(); //Gibt die Größe der Liste zurück. void anzeigen() ; // Gibt die Elemente der Liste normal aus. void loeschen(); // Löscht die Liste. int getmax(vector<int>Liste); // Findet das Maximum. int getmin(vector<int>Liste); // Findet das Minimum. int sortieren(vector<int>Liste); // sortiert die Liste nach Bubblesort. private: vector<int> Liste; // Ist für die Speicherung zuständig. int inListe; } #endif // CLASS_MENGE_H_INCLUDEDbitte nicht über den code bzw den rest lachen ist mein erstes großes projekt

so dann kommen die bis jetzt erstellten methoden
#include "Class_menge.h" #include<iostream> #include<vector> using namespace std; ////////////////////////////////////////////////////////////// bool Menge::istvorhanden(int el) { for(size_t i=0;i<Liste.size();++i) { if(el==Liste[i]) { cout<<"Diese Zahl ist schon vorhanden"<<endl; return true; } else { cout<<"Zahl nicht vorhanden kann also noch eingefuegt werden"<<endl; return false; } } } ////////////////////////////////////////////////////////////// int Menge::sortieren(vector<int>Liste) { vector<int>sortiert_Liste=Liste; for(size_t i=1;i<sortiert_Liste.size();++i) { for(size_t j=0;j<i;++j) { if(sortiert_Liste[i]<sortiert_Liste[j]) { int speicher=sortiert_Liste[i]; sortiert_Liste[i]=sortiert_Liste[j]; sortiert_Liste[j]=speicher; } } } for(size_t i=0;i<Liste.size();++i) { cout<<"Der Inhalt ist: "<<endl; cout<<sortiert_Liste[i]<<endl; } } ////////////////////////////////////////////////////////////////// void Menge::anzeigen() { sortieren(Liste); } ///////////////////////////////////////////////////////////////// int getmax(vector<int>Liste) { vector<int>sortiert_Liste=Liste; for(size_t i=1;i<sortiert_Liste.size();++i) { for(size_t j=0;j<i;++j) { if(sortiert_Liste[i]<sortiert_Liste[j]) { int speicher=sortiert_Liste[i]; sortiert_Liste[i]=sortiert_Liste[j]; sortiert_Liste[j]=speicher; } } } int max= Liste[0]; for(size_t i=0;i<Liste.size();++i) { if(max<Liste[i]) { max=Liste[i]; } } cout<<"Das MAximum ist: "<<max<<endl; } ///////////////////////////////////////////////////////////////// int getmin(vector<int>Liste) { vector<int>sortiert_Liste=Liste; for(size_t i=1;i<sortiert_Liste.size();++i) { for(size_t j=0;j<i;++j) { if(sortiert_Liste[i]<sortiert_Liste[j]) { int speicher=sortiert_Liste[i]; sortiert_Liste[i]=sortiert_Liste[j]; sortiert_Liste[j]=speicher; } } } int min= Liste[0]; for(size_t i=0;i<Liste.size();++i) { if(min>Liste[i]) { min=Liste[i]; } } cout<<"Das Minimum ist: "<<min<<endl; } /////////////////////////////////////////////////////////////////// size_t Menge::size() { int i; for( i=0;i<Liste.size();++i) { } cout<<"Die Liste hat"<<i<<" Elemente"<<endl; } //////////////////////////////////////////////////////////////////sind auch noch etwas anfängerhaft, aber naja...
so und mehr habe ich net, also ne main is noch net gemacht
-
class Menge{ . . . . }; //<-- SEMIKOLON
-
Firefighter schrieb:
das is MEIN header:
#ifndef CLASS_MENGE_H_INCLUDED #define CLASS_MENGE_H_INCLUDED #include<vector> using namespace std; class Menge { [...] } #endif // CLASS_MENGE_H_INCLUDEDUnd genau bei dieser Deklaration fehlt das Semikolon (unmittelbar vor dem #endif).
Der Punkt ist, an dieser Stelle stört es noch nicht, daß da kein Semikolon steht. Erst später im Programmtext kommt etwas, was nicht direkt dort dran passt (in deinem Fall das Schlüsselwort 'namespace' in der <char_traits.h>, die über <iostream> eingebunden wurde - die 48 Zeilen davor bestehen vermutlich aus Kommentaren und Präprozessor-Anweisungen).
PS: 'using namespace std;' hat in einem Header nichts zu suchen.
-
hab ich grade auch gemacht das semikolon.. keine veränderung dieselben fehler:
C:\Programme\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\include\c++\3.4.4\bits\char_traits.h:49: error: expected unqualified-id before "namespace"
C:\Programme\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\include\c++\3.4.4\bits\char_traits.h:49: error: expected,' or;' before "namespace"
C:\Programme\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\include\c++\3.4.4\bits\char_traits.h:226: error: expected template-name before '<' token
C:\Programme\CodeBlocks\bin\..\lib\gcc\mingw32\3.4.4\..\..\..\..\include\c++\3.4.4\bits\char_traits.h:226: error: expected{' before '<' token C:\\Programme\\CodeBlocks\\bin\\..\\lib\\gcc\\mingw32\\3.4.4\\..\\..\\..\\..\\include\\c++\\3.4.4\\bits\\char_traits.h:226: error: expected unqualified-id before '<' token C:\\Programme\\CodeBlocks\\bin\\..\\lib\\gcc\\mingw32\\3.4.4\\..\\..\\..\\..\\include\\c++\\3.4.4\\bits\\char_traits.h:226: error: expected;' before '<' token
:: === Build finished: 6 errors, 0 warnings ===und eine weitere klasse habe ich ent
-
... zzzz ...
-
ja ich verstehe schon das er ein semikolon vermisst,aber ich habe ja jetzt das semikolon schon an das ende der letzten/ einzigen klasse von mir gemacht, aber ändern tut sich nix
-
Wenn ich deinen Code bei mir kompiliere, funktionierts einwandfrei. Mach mal ein Rebuild-All.
-
und wie mache ich den Rebuild All??
EDIT:Ok jetzt scheint es zu gehen,danke nochma