Fehler beim kombilieren einer Funktion in einer klasse



  • Hi @ all
    das soll ein minispiel in einem DOS-Fenster werden:

    Wenn ich den Qellcode (Kurzfassung) kombielieren will taucht der Fehler auf:

    In function 'ZN5CGame4PlayEv'
    Line 6: multipe definition of 'CGame::Play()'
    Line 6: first defined here
    Line 6: Id retutned 1 exit status
    

    Hier der Quellcode:
    Game.h

    #if !defined GAME_H__INCLUDED 
    #define GAME_H__INCLUDED 
    
    #if (_MSC_VER > 1000) 
    #pragma once 
    #endif // _MSC_VER > 1000 
    
    #include <iostream> 
    
    class CGame
    {
    
          private:
                  char Auswahljn;
          public:
                 void Play ();
    
    };
    #endif // GAME_H__INCLUDED
    

    Game.cpp:

    #include <iostream>
    #include "Game.h"
    
    void CGame::Play ()
    {
    //...
    }
    

    Wäre dankbar für hilfe



  • Ich hoffe mal, im Hauptprogramm hast du nur den Header eingebunden.



  • Hab ich



  • Zeig doch mal den Code des Hauptprogramms.



  • Liegt es daran?
    Aja noch dazu zu sagen ist das

    void CGame::Play ()
    

    ist die 6.Zeile



  • greece57 schrieb:

    Liegt es daran?

    Vermutlich - der Code dort oben ist (für sich betrachtet) in Ordnung. Und Linker-Fehler deuten normalerweise darauf hin, daß etwas mit dem Zusammenspiel verschiedener Übersetzungseinheiten falsch gelaufen ist.

    (in deinem Fall hat der Linker zwei Definitionen der Methode CGame::Play() gefunden und weiß nicht, welche davon er verwenden soll)


Anmelden zum Antworten