Eigenartige fehler beim kompilieren eines Projekts C++ 

  • Ersteller Ersteller -=[P3ac]=-
  • Erstellt am Erstellt am
Status
Für weitere Antworten geschlossen.
P

-=[P3ac]=-

Hallo!
Hab, um klassen auszuprobieren, ein Programm geschrieben das Daten ( mehrzahl von Datum?? :P ) ausgibt. Nur leider kriege ich beim kompilieren ganz eigenartige Fehlermeldungen:

1>Kompilieren...
1>Datum.cpp
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2628: 'Datum' gefolgt von 'unsigned' unzulässig (Semikolon ';' vergessen?)
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2628: 'Datum' gefolgt von 'int' unzulässig (Semikolon ';' vergessen?)
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2347: '__w64': Kann nicht mit Typ '__w64 Datum' verwendet werden
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2371: 'size_t': Neudefinition; unterschiedliche Basistypen
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\predefined c++ types (compiler internal)(19): Siehe Deklaration von 'size_t'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(8) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(8) : error C2556: 'int Datum::init(int,int,int)': Überladene Funktion unterscheidet sich nur hinsichtlich des Rückgabetyps von 'void Datum::init(int,int,int)'
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.h(9): Siehe Deklaration von 'Datum::init'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(8) : error C2371: 'Datum::init': Neudefinition; unterschiedliche Basistypen
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.h(9): Siehe Deklaration von 'Datum::init'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(15) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(15) : error C2556: 'int Datum::init(void)': Überladene Funktion unterscheidet sich nur hinsichtlich des Rückgabetyps von 'void Datum::init(void)'
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.h(10): Siehe Deklaration von 'Datum::init'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(15) : error C2371: 'Datum::init': Neudefinition; unterschiedliche Basistypen
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.h(10): Siehe Deklaration von 'Datum::init'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(28) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(28) : error C2556: 'int Datum::print(void)': Überladene Funktion unterscheidet sich nur hinsichtlich des Rückgabetyps von 'void Datum::print(void)'
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.h(11): Siehe Deklaration von 'Datum::print'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.cpp(28) : error C2371: 'Datum::print': Neudefinition; unterschiedliche Basistypen
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\datum.h(11): Siehe Deklaration von 'Datum::print'
1>main.cpp
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2628: 'Datum' gefolgt von 'unsigned' unzulässig (Semikolon ';' vergessen?)
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2628: 'Datum' gefolgt von 'int' unzulässig (Semikolon ';' vergessen?)
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2347: '__w64': Kann nicht mit Typ '__w64 Datum' verwendet werden
1>c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2371: 'size_t': Neudefinition; unterschiedliche Basistypen
1> c:\users\levin\documents\visual studio 2008\projects\datum\datum\predefined c++ types (compiler internal)(19): Siehe Deklaration von 'size_t'
1>c:\users\levin\documents\visual studio 2008\projects\datum\datum\main.cpp(14) : error C2679: Binärer Operator '1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(653): kann 'std::basic_ostream &std::operator >(std::basic_ostream &,const char *)' sein
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(700): oder "std::basic_ostream &std::operator >(std::basic_ostream &,char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(738): oder "std::basic_ostream &std::operator >(std::basic_ostream &,const char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(785): oder "std::basic_ostream &std::operator >(std::basic_ostream &,char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(909): oder "std::basic_ostream &std::operator >(std::basic_ostream &,const signed char *)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(916): oder "std::basic_ostream &std::operator >(std::basic_ostream &,signed char)"
1> with
1> [
1> _Elem=char,
1> _Traits=std::char_traits
1> ]
1> c:\program files\microsoft visual studio 9.0\vc\include\ostream(923): oder "std::basic_ostream &std::operator >(std::basic_ostream &,const unsigned char *)"
1> with...(usw)
1> [
hier mein Quellcode:

Datum.h
PHP:
#ifndef _DATUM_
#define _DATUM_

class Datum
{
private:
short tag, monat, jahr;
public:
void init( int tag, int monat, int jahr);
void init();
void print();
}

#endif
Datum.cpp
PHP:
#include "Datum.h"
#include 
#include 

using namespace std;

Datum::init(int t, int m, int j)
{
tag = (short) t;
monat = (short) m;
jahr = (short) j;
}

Datum::init()
{
struct tm *zeit;
time_t sec;

time(&sec);
zeit = localtime(&sec);

tag = zeit->tm_mday;
monat = zeit->tm_mon + 1;
jahr = zeit->tm_year + 1900;
}

Datum::print()
{
cout }
Main.cpp
PHP:
#include "Datum.h"
#include 
using namespace std;


int main()
{
Datum today, birthday, date, *pDate;

today.init();
cout 
birthday.init(3,4,1990);
cout 
date.init(29.6.2008);
cout 
*pDate = &date;
cout print();
return 0;
}
btw, ich verwende Microsoft Visual Studio 2008

mfg :)
 
Hallo,

so wie ich das sehe hast Du in der Datum.h erst mal hinter der Klassen-Deklaration ein Semikolon ( ; ) vergessen.

In der Datum.cpp fehlt Datentyp (hier 'void') bei jedem Methoden-Kopf!!

In der main.cpp ist der dritte Methodenaufruf nicht korrekt, Übergabeparameter mit Komma trennen.

Gruß
 
danke :)
musste noch ein paar andere sachen ausbessern, wie zb in der main.cpp:
PHP:
cout today.print();

anstatt:
PHP:
cout code]

aber jetzt gehts!!! :)

mfg

//kann geclosed werden!
 
Status
Für weitere Antworten geschlossen.

Ähnliche Themen

Zurück
Oben Unten