Rückgabewert int*
-
Hab hier 'nen Code:
int* pVar = new int[Zahl]; int* Funktion(...) { // mache was return pVar; }
Wieso krieg ich hier Fehler? Liegt es daran, dass ich ein Array benutze?
mfg A-l-e-x
-
Meine Kristallkugel ist leider kaputt, kannst du freundlicherweise die Fehlermeldung posten? In dem Codestück ist jedenfalls kein Fehler erkennbar.
-
kennst du den unterschied zwischen einem Zeiger auf eine Variable und dem Zeiger auf eine Funktion? wenn nicht -> www.google.de - oder ich hätte da ein kleinen C++ Tutorial auf meiner HP (das ist zwar noch nicht ziemlich am Anfang, aber da findest du etwas zu Funktionszeigern)
-
Vertexwahn schrieb:
kennst du den unterschied zwischen einem Zeiger auf eine Variable und dem Zeiger auf eine Funktion?
Wo siehst du hier einen Zusammenhang zu Funktionszeigern?
-
da hat nichts was mit funktionszeigern zu tun, ich glaube,vertex, dass dus elber nochn paar tutorials durchgehen solltest, bevor du ein eigenes schreibst
-
Wenn pVar eine int Variable ist, dann musst du die Adresse (&pVar) zurückgeben, desweiteren sollte diese variable dann vorher mit static deklariert werden. Diese Variable gilt ja nur für diese Funktion.
-
guenni81 schrieb:
Wenn pVar eine int Variable ist, dann musst du die Adresse (&pVar) zurückgeben, desweiteren sollte diese variable dann vorher mit static deklariert werden. Diese Variable gilt ja nur für diese Funktion.
sie ist aber ne int* variable-.-
und nein, globale variablen müssen nicht static sein,und nein,s ie gilt auch nicht nur für diese funktion.
-
guenni81 schrieb:
Wenn pVar eine int Variable ist, dann musst du die Adresse (&pVar) zurückgeben, desweiteren sollte diese variable dann vorher mit static deklariert werden. Diese Variable gilt ja nur für diese Funktion.
pVar ist, wie man unschwer erkennen kann, eine globale int*-Variable.
-
Liegt es vllt. an ... in der Klammer?
-
Bashar schrieb:
guenni81 schrieb:
Wenn pVar eine int Variable ist, dann musst du die Adresse (&pVar) zurückgeben, desweiteren sollte diese variable dann vorher mit static deklariert werden. Diese Variable gilt ja nur für diese Funktion.
pVar ist, wie man unschwer erkennen kann, eine globale int*-Variable.
Stimmt, hab ich total übersehen
-
> ich glaube,vertex, dass dus elber nochn paar tutorials durchgehen solltest, bevor du ein eigenes schreibst
mmh... ihr habt leider recht - das sah so verdammt nach Funktionszeiger für mich aus
... mmh da bin ich schon seit 3 jahren C++ fan und hab immer noch meine schwierigkeiten - hab heute erst die Debug Möglichkeiten meiner Entwicklungsumgebung wargenommen - nach drei jahren... schön langsam glaube ich fast das programmiern nicht das richtige für mich ist... aber kann ja sonst nichts
- bah hätte ich mir da viel Zeit und Log Files sparren können... mmh....
-
Huh, was über nacht so entsteht.
1. Ja es ist eine globale Variable, die ein array ist
2. eine Klassenfunktion soll sie übergeben
3. Zu der kaputen Glaskugel (die Funktion heißt hier etwas anders):Klassenarbeit.obj : error LNK2001: unresolved external symbol "private: static bool __cdecl Suche::AlleAufg(int,int)" (?AlleAufg@Suche@@CA_NHH@Z)
Debug/Test 4.exe : fatal error LNK1120: 1 unresolved externalsmfg A-l-e-x
-
A-l-e-x schrieb:
Huh, was über nacht so entsteht.
Klassenarbeit.obj : error LNK2001: unresolved external symbol "private: static bool __cdecl Suche::AlleAufg(int,int)" (?AlleAufg@Suche@@CA_NHH@Z)
Debug/Test 4.exe : fatal error LNK1120: 1 unresolved externalsmfg A-l-e-x
Das ist ne Fehlermeldung vom Linker, nicht vom Compiler -> kein Fehler im Sourcecode, sondern die Funktion Suche::AlleAufg(int,int) findet er nicht. Hast du die mit im Projekt? Ist die in ner extra Datei? Falscher Prototyp? <in_kugel_guck>
-
Hab den Fehler gefunden. Der war nicht in der Funktion selber, sondern in einer Funktion, die ich mit der aufrufe. Da hab ich dummerweise Klasse:: vergessen.
Kann ja bei einem Umstieg von Quellcode zu Klassen mal passieren.
mfg A-l-e-x