28. december 2002 - 17:24
Der er
3 kommentarer
n antal parametre fra F1 til F2
hvis jeg har flg. funktioner f1 og f2
void f2(...);
void f1(...) {
};
void f2(...) {
};
er det så på en eller anden facon muligt at overføre de x antal variabler fra f1 til de x antal variabler i f2 ?
altså noget alá :
void f1 (...){
f2(...);
};
Kristian
28. december 2002 - 17:32
#1
Du laver:
void f2(int n,...);
void f1(int n,...)
{
va_list argptr;
va_start(argptr,n);
f2(n,argptr);
va_end(argptr);
return;
}
void f2(int n,...)
{
va_list argptr;
va_start(argptr,n);
f2(n,argptr);
va_end(argptr);
return;
}
void f2(int n,va_list ap)
{
// do whatever
}
03. januar 2003 - 09:54
#2
Den kræver vist lige lidt forklaring ;)
Det er det såkaldte function overloading. Du har egentlig flere funktioner med samme navn, men da de har forskellige antal/type parametre, ved den ud fra dit input, hvilken funktion der skal bruges. Det er guld værd. :)