public Methode wird nicht gefunden
-
Äh verdammt, das Beispiel ist natürlich großer Mist. Es handelt sich natürlich nicht um einen Kostruktor sondern um eine normale Methode!!!
Also vergesst lieber das Beispiel
-
Nein, nach der Methode kommt kein ;! Aber nach der Klassendefinition
class test { public: int foo() { return 100; } }; //<--!
so etwas erzeugt oft unverständliche Fehlermeldungen
-
Ja, soweit habe ich es aber schon richtig, daran liegt es nicht
-
Dieser Thread wurde von Moderator/in kingruedi aus dem Forum Rund um die Programmierung in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
germangeek schrieb:
Ja, soweit habe ich es aber schon richtig, daran liegt es nicht
@germangeek:
Dann zeig doch mal _genau_ den Code, bei dem das Problem auftritt.Caipi
-
Okay, hier mal mein Code:
1. Test.cpp
#include "Test.h" class Test{ public: int Test() { return 100; } };
2. Test.h
int Test(void);
Aus den beiden oberen erstelle ich eine Libary, di ich dann im nächsten aufrufen will.
3. Main.cpp
#include <iostream> #include "Test.h" using namespace std; class Main{ int main () { cout << Test() << endl; return 0; } };
Wenn ich dass nun kompiliere:
g++ -fPIC -DPIC -c Test.cpp
ar rcs libTest.a Test.o
g++ -L. -o Main Main.cpp -lTestdann bekomme ich folgende Fehlermeldung:
/usr/lib/gcc-lib/i586-suse-linux/3.3.4/../../../crt1.o(.text+0x18): In function
_start': ../sysdeps/i386/elf/start.S:115: undefined reference to
main'
collect2: ld returned 1 exit status
make: *** [all] Fehler 1Wo ist da nun der Fehler drin?
-
class WlanDummy{ public: int Test() { return 100; } };
#include "stdafx.h" #include "Klassen.h" //#include <iostream> using namespace std; int main() { WlanDummy objekt; std::cout << objekt.Test(); cin.ignore(); }
class Main{ int main () { cout << Test() << endl; return 0; } };
Geht das überhaupt mit der Mainmethode in einer Klasse?
-
Nö, glaube nicht, dass das geht...
die Test.h muss so ausschauen:
class WlanDummy { public: int Test(); };
und in der Main dann wie steff3 schon geschrieben hat ein Objekt der Klasse erstellen und darauf Test() aufrufen.
-
Hier siehts aus als hätte jemand zu lange Java programmiert
// test.h class Test { public: int test (); }; // test.cpp #include "test.h" int Test::test () { return 100; } // main.cpp #include <iostream> #include "test.h" using namespace std; int main () { Test obj; cout << obj.test() << endl; return 0; }
MfG SideWinder
-
Recht hast du!
Danekschön!