Methodenaufruf stehe auf dem Schlauch edit: gelöst



  • Hi,
    bin mich gerade etwas mit C++ am beschäftugen und wollte eine Methode aus einer anderen Klasse in meinem Main aufrufen. Jedoch will das nicht so ganz.
    Habe also ein leere Konsolenanwendung "testubergabe" erstellt, die Klasse "uber" hinzugefügt. In "uber" habe ich eine Methode "ausgabe" erstellt.
    Wenn ich diese jedoch aufrufen will, kommt immer folgender Compilerfehler:

    error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: int __thiscall uber::ausgabe(void)" (?ausgabe@uber@@QAEHXZ)" in Funktion "_wmain".
    

    testubergabe.cpp:

    #include "stdafx.h"
    #include "uber.h"
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	uber test;
    	test.ausgabe();
    	return 0;
    }
    

    uber.h:

    #pragma once
    
    class uber
    {
    public:
    	int ausgabe();
    	uber(void);
    	~uber(void);
    };
    

    uber.cpp:

    #include "StdAfx.h"
    #include "uber.h"
    #include <iostream>
    using namespace std;
    uber::uber(void)
    {
    }
    
    int ausgabe(){
    
    	cout << "\n\n\n\n\t\t\that gekappt";
    
    return 0;
    }
    
    uber::~uber(void)
    {
    }
    

    Ist sicher was grundlegendes. Finde den Fehler nur einfach nicht.
    Für einen Tip wäre ich sehr dankbar 😉
    Falls wichtig, nutze Visual Studio 2005 unter WinXP.



  • Hallo

    ich988 schrieb:

    error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: int __thiscall uber::ausgabe(void)" (?ausgabe@uber@@QAEHXZ)" in Funktion "_wmain".
    

    testubergabe.cpp:

    #include "stdafx.h"
    #include "uber.h"
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	uber test;
    	test.ausgabe();
    	return 0;
    }
    

    uber.h:

    #pragma once
    
    class uber
    {
    public:
    	int ausgabe();
    	uber(void);
    	~uber(void);
    };
    

    uber.cpp:

    #include "StdAfx.h"
    #include "uber.h"
    #include <iostream>
    using namespace std;
    uber::uber(void)
    {
    }
    
    int ausgabe(){
    
    	cout << "\n\n\n\n\t\t\that gekappt";
    
    return 0;
    }
    
    uber::~uber(void)
    {
    }
    

    Ist sicher was grundlegendes. Finde den Fehler nur einfach nicht.

    Es muss int uber::ausgabe() heissen, sonst ist ausgabe nur irgendeine Funktion ohne Beziehung zu deiner Klasse => Symbol wird nicht aufgelöst, weil du die Methode gar nie definierst 😉

    MfG



  • hehe besten Dank.
    Hatte es auch grad gesehen. Trotzdem vielen Dank. Hab nämlich schon ewig gesucht und einfach keinen Fehler gefunden.


Anmelden zum Antworten