Hallo zusammen, ich wollte mir anhand eines einfachen Programms beweisen, dass eine Funktion ebenfalls wie Datentypen irgendwo im Hauptspeicher liegen, daher wollte ich die Adresse einer Funktion ausspucken lassen. Es hat aber irgendwie nicht geklappt, habt Ihr vielleicht ne Ahnung woran es liegt? #include <iostream> using namespace std; double quadrat(double x){ return x*x; } int main() { cout << quadrat << endl; } Vielen Dank für Eure Hilfe Grüße aus Rheinland, Leoni
Du darfst zwar alles essen, aber nicht alles wissen. Weiß es auch nicht. Hat mich auch noch nie interresiert. Gruß
Der Compiler scheint die Adresse irgendwie in nen bool umwandeln zu wollen (siehe Warnung!). Mit nem Cast auf int geht es.
GNU-C:
1 | #include <stdio.h> |
2 | |
3 | void bummsfallera() { |
4 | printf("Hallo Welt\n"); |
5 | }
|
6 | |
7 | int main() { |
8 | void *p = (void *) &bummsfallera; |
9 | printf("bummsfallera = %p\n", p); |
10 | return 0; |
11 | }
|
1 | #include <stdio.h> |
2 | |
3 | int main() |
4 | {
|
5 | printf ("main = 0x%08x\n", (unsigned int) main); |
6 | return 0; |
7 | }
|
Leo Lion wrote:
> Vielen Dank für Eure Hilfe.
Interessant, daß bei den schwierigen Sachen doch wieder plain C angesagt
ist, statt C++.
Die C++ Entwickler haben sich wohl was dabei gedacht, daß C zu 100% in
C++ enthalten ist.
Ich kann ehrlich gesagt, überhaupt nichts mit
1 | cout << quadrat << endl; |
anfangen, da fehlen einfach zuviel Sachen. Peter
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.