error C2143: Syntaxfehler: Es fehlt ';' vor 'using'
-
Das war die Klasse student bei der der Fehler erscheint ich geb euch noch die andern klssen:
Klasse Person:
#include <iostream> using namespace std; #include <string> #include "Date.h" class Person { public: Person(char* n=" ", int s=0,char* nat="U.S.A."):name(n), sex(s),nationality(nat) { } void setDOB (int m, int d, int y) {dob.setDate(m,d,y);} void setDOD(int m, int d,int y) {dod.setDate(m,d,y);} void printName () {cout << name;} void printNationality () {cout << nationality;} void printDOB() {cout <<dob;} void printDOD () { cout << dod;} protected: string name, nationality; Date dob,dod; int sex; };
-
Klasse Date:
#include <iostream> using namespace std; #include <string> class Date { friend istream& operator>>(istream&, Date&); friend ostream& operator<<(ostream&,const Date&); public: Date (int m=0,int d=0, int y=0) : month(m), day(d),year(y) { } void setDate(int m, int d, int y){ month=m; day=d; year =y;} private: int month,day,year; }; istream& operator>>(istream& in, Date& x) { in >> x.month >>x.day >> x.year ; return in; } ostream& operator<< (ostream& out, const Date& x) { static char* monthName[13] ={" ","January","February", "March", "April", "May","June", "July","August","september", "October","November", "December"}; out << monthName[x.month] << ' ' << x.day << ", " << x.year; return out; }
-
Main:
#include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { Student x ("ann Jones", 0,"219360061"); x.setDOB(5,13,1977); x.setDOM(8,29,1995); x.setDOD(7,4,1826); x.printName(); cout << "\n\t Born: " ; x.printDOB(); cout << "\n\t Sex: "; x.printSex(); cout << "\n\tMatriculated: "; x.printDom(); cout << endl; return 0; }
-
Was hat das mit C++/CLI zu tun ?
Wo genau passiert denn der Fehler ?
Was steht in stdafx.h drinn ?
-
Das Beispiel ist eigendlich aus einem Buch da ich ja noch Anfänger bin.
Statt alles in eine datei zu schreiben habe ich es aus mehrere .h Dateien verteilt war das falsch ?
-
Nein, das ist schon richtig.
Ein ; fehlt ist ein fieser Fehler zumal ich den auf anhieb nicht sehe.WO wird denn der Fehler angezeigt ? (Ah sorry, in der Klasse Student).
IMHO fehlt das ; irgendwo in dem was vor student.h includiert wird.
Es wäre hilfreich zu wissen was das ist.In der Main ziehst Du nur stdafx.h - wo main die Kentniss über Student hernimmt bleibt verschlossen.
-
Sorry bin in der falschen sparte. mit c++/cli hat das woll nichts zu tun.
In der klasse student ist der fehler.
\student.h(2) : error C2143: Syntaxfehler: Es fehlt ';' vor 'using'stdafx.h
// stdafx.h : Includedatei für Standardsystem-Includedateien // oder häufig verwendete projektspezifische Includedateien, // die nur in unregelmäßigen Abständen geändert werden. // #pragma once #define WIN32_LEAN_AND_MEAN // Selten verwendete Teile der Windows-Header nicht einbinden. #include <stdio.h> #include <tchar.h> #include <iostream> using namespace std #include "Student.h" #include <string> // TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.
-
#include <iostream> using namespace std <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< #include "Student.h"
-
Knuddlbaer schrieb:
#include <iostream> using namespace std <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< #include "Student.h"
Danke Hab in stdafx.h nie gesucht. da hätte ich woll jahre für gebraucht. 1000 mal Danke ich such nun den nächsten fehler printDOM() aus Student ist in Main auch falsch geschrieben Gross/kleinschreibung danach hab ich 2 LNK Fehler werd mal etwas googlen bevor ich euch weiter löcher denk ich hab da was zu oft includiert.
DAnke nochmal
-
ok die linkfehler kommen davon das ich Student.h in stdafx.h includiert habe. auserdem habe ich aus allen Klassen ausser Date die zeilen für iostream, std und string gelöscht. Nun läuft es dank für deine hilfe!