Ahoj chci se zeptat na funkci, která je zadaná jako parametr funkce. Potřebuji udělat funkci funkce(cislo, function), která udělá for cyklus tolikrát kolik je cislo a v každém cyklu se provede function. Přičemž to může být jakákoliv funkce.
Fórum › C / C++
C Funkce jako parametr funkce
#3 František Brámek
#include <iostream>
using namespace std;
void function()
{
cout << "Ahoj" << endl;
}
void function2(const int n, void (*f)())
{
for (int i = 0; i < n; ++i)
{
f();
}
}
int main()
{
function2(5, function);
system("pause");
return 0;
}
Takto?
#include <stdio.h>
// pro snadnejsi pouziti si vytvoris typ ukazatele na Funkci
typedef void (*FunkcePtr)();
// funkce
void funkce(int cislo, FunkcePtr function)
{
int i;
for (i = 0; i < cislo; ++i)
function();
}
// funkce, ktera se zavola v kazdem cyklu
void volanaFunkce()
{
printf("bagr ");
}
int main()
{
funkce(5, volanaFunkce);
return 0;
}
#9 František Brámek
jistě, jen upravíš typedef na
typedef void (*FunkcePtr)(int);
a potom v tom cyklu bude fci předávat parametr (třeba index)
void funkce(int cislo, FunkcePtr function)
{
int i;
for (i = 0; i < cislo; ++i)
function(i);
}
samozřejmě musíš upravit i tu fci, která se bude vykonávat
void volanaFunkce(int i)
{
printf("%d ", i);
}
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 35 hostů
Podobná vlákna
C# pole jako parametr funkce — založil Geralt
Objekt jako parametr funkce — založil xJakubS
Parametr funkce jako ukazatel — založil jurin
Matice jako vstupní parametr funkce — založil Sprinter
Dynamické pole jako parametr funkce — založil Luk
Moderátoři diskuze