typedef int (* f ) (int) ;
int work1 (int input )
{
return input + 100;
}
int work2 (int input )
{
return input + 500;
}
f chef(int input )
{
if ( input > 10)
return work1 ;
else
return work2 ;
}
int main ()
{
printf("%d\n" ,chef(12)(9)) ;
system("Pause");
}
Als Ausgabe kommt 109 heraus.
chef wird aber mit (12) (9) aufgerufen, aber eig. kann doch nur ein Paramater mitgegeben werden.??
hängt das irgendwie mit dem typedef oben zusammen?
zu b)
würd ich ja eig. nur sagen:
main
main chef
main chef work1
main chef
main
Als Ausgabe kommt 109 heraus.
chef wird aber mit (12) (9) aufgerufen, aber eig. kann doch nur ein Paramater mitgegeben werden.??
hängt das irgendwie mit dem typedef oben zusammen?
Neeeeeeeein.
chef wird mit 12 aufgerufen und der Rückgabewert mit 9! Das ist doch der Sinn an der ganzen Übung.
wie das denn funktionniert mit dem Aufruf,weil es kann doch nicht zweimal chef aufgerufen werden??
chef wird mit 12 aufgerufen und work1 mit 9 ... ???
also chef(12) gibt mit return work1() zurück und diese funktion wird dann mit work1(9) aufgerufen, und nachdem return eine function beendet stimmt auch main->chef()->work1() nicht sondern es muß main->work1() heißen
CptC schrieb:
Basiert der von Eclipse nicht auf Valgrind bzw. Callgrind?
puh da bin ich überfragt, hätte mir fast eingebildet der gdb bietet sowas an, könnt aber sein das gdb auf den dingern aufsetzt
Nächstes Thema anzeigen Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums
für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de
Werbekostenerstattung verdient werden kann.
Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de
enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt
(vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in
privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden.
Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere
übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.