Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

14.07.2006, 07:14

Listing 7.1 läuft nicht in Visual C++ 2005 ?

Hi Leute :)

Ich habe gerade das Listing 7.1 von der Seite 184 (Erste Ausgabe) abgetippt in mein leckeres neues Visual C++ 2005 Express aber ich bekomme eine Fehlermeldung beim linken.

Hier der Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include<iostream>
using namespace std;

//Klassen
class CRaumschiff
{
    public:
        
        //Membervariablen
        int m_Energie;
        int m_Geschwindigkeit;

        //Memberfunktionen
        void ZeigeDaten()
        {
            cout<<"Energie\t\t:"<<m_Energie<<endl;
            cout<<"Geschwindigkeit\t:"<<m_Geschwindigkeit<<endl;
        }
};

//M a i n ##############################################
int Main ()
{
    //Variablen
    CRaumschiff Schiff1;
    CRaumschiff Schiff2;

    //Raumschiffe initialisieren
    Schiff1.m_Energie = 100;
    Schiff1.m_Geschwindigkeit = 50;

    Schiff2.m_Energie = 150;
    Schiff2.m_Geschwindigkeit = 25;

    //Ausgabe der Daten
    Schiff1.ZeigeDaten();
    cout<<endl;
    Schiff2.ZeigeDaten();

    return 0;
}


Und hier die Fehlermeldung:

Quellcode

1
2
3
4
5
6
7
------ Erstellen gestartet: Projekt: 7-1, Konfiguration: Debug Win32 ------
Verknüpfen...
MSVCRTD.lib(crtexe.obj) : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_main" in Funktion "___tmainCRTStartup".
C:\Dokumente und Einstellungen\<BENUTZER>\Eigene Dateien\Visual Studio 2005\Projects\7-1\Debug\7-1.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\<BENUTZER>\Eigene Dateien\Visual Studio 2005\Projects\7-1\Debug\BuildLog.htm" gespeichert.
7-1 - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Den Code habe ich (bis auf die Comments) nahezu identisch abgetippt.. Wo liegt der denn der Fehler? :oops:
----------------------------------------------------
// Rechtschreibung? Ist das eine neue Programmiersprache?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »EVIL-WAX« (21.09.2011, 13:22)


2

14.07.2006, 07:17

Ich bin einfach nur doof.......

int Main() <----- Sagt alles....

int main() sollte es lauten :roll: :x :?
----------------------------------------------------
// Rechtschreibung? Ist das eine neue Programmiersprache?

J.M.K.

Alter Hase

Beiträge: 500

Wohnort: BW Karlsruhe Ittersbach

Beruf: Schüler

  • Private Nachricht senden

3

14.07.2006, 09:00

aus Fehlern lernt man :)
Vegetarier essen meinem Essen das Essen weg.

4

14.07.2006, 11:40

Wobei das ja mal nen Sample für schlechten Style ist...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

5

14.07.2006, 13:06

Zitat von »"Devil"«

Wobei das ja mal nen Sample für schlechten Style ist...


Bezogen auf?

Ich habe das Beispiel 1:1 abgetippt bis auf die Comments.
ABER:
Zitat Seite 187 (erste Auflage): "Ich hatte ja zu Beginn des Abschnittes 7.2 erwähnt, dass wir bei unserer ersten Klasse einige Stilbrüche begangen haben. Das wurde bewusst in Kauf genommen, um im ersten Beispiel alles so einfach und kompakt wie möglich zu halten."
----------------------------------------------------
// Rechtschreibung? Ist das eine neue Programmiersprache?

6

14.07.2006, 15:52

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include<iostream> 

//Klassen 

class CRaumschiff 
{ 
public: 
    CRaumschiff(void) : m_nEnergie(0),  m_nSpeed(0)
    {
    }

    ~CRaumschiff(void)
    {
    }

protected:
    int m_nEnergie; 
    int m_nSpeed; 

public:
    void ShowData(void) 
    { 
        std::cout << "Energie\t\t:" << m_nEnergie << std::endl; 
        std::cout << "Geschwindigkeit\t:" << m_nSpeed << std::endl; 
    } 

public:
    void SetSpeed(int nSpeed)
    {
        m_nSpeed = nSpeed;
    }
    void SetEnergie(int nEnergie)
    {
        m_nEnergie = nEnergie;
    }
}; 

//M a i n ############################################## 

int main () 
{ 
    // Variablen 

    CRaumschiff Schiff1; 
    CRaumschiff Schiff2; 

    // Raumschiffe initialisieren 

    Schiff1.SetEnergie(100); 
    Schiff1.SetSpeed(50); 

    Schiff2.SetEnergie(150); 
    Schiff2.SetSpeed(25); 

    //Ausgabe der Daten 

    Schiff1.ShowData(); 
    Schiff2.ShowData(); 

    return 0; 
}


So sollte es besser sein ;) Vor allem public-Variablen existieren nicht ;)

Aja... @David... das ist jawohl mal... naja... wenn man vergessen würde die Variablen zu setzen gäbe das nen Crash ;)
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

7

14.07.2006, 15:55

das wird später im buch ja alles noch erklärt. Das is nur die 1. Klasse die geschrieben wird und da wird auf das protected usw. verzichtet damits nicht gleich zu overkill ist.
Also er hat einfach nur das Bsp. aus dem buch abgetippt.

8

14.07.2006, 22:36

Ka... hab das Buch, wenns das von Heiko ist, nicht...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

9

27.07.2006, 13:04

Zitat von »"Devil"«

Ka... hab das Buch, wenns das von Heiko ist, nicht...


protected sollte ich doch nur benutzen wenn ich vererben will?!

Die set'ter Methoden für die membervariablen sind zwar schön und gut, aber sollte ich diese nicht nur erstellen wenn ich sie auch brauche? Wenn ich schon set'ter erstelle - dann nicht auch get'ter?

Wenn ich die Methoden nicht brauche bläh ich doch nur den Code nutzlos auf?!

Sry wenn ich das kritisch hinterfrage :oops:

Werbeanzeige