nieokreślona ilość parametrów
Ostatnio zmodyfikowano 2009-06-10 20:43
pekfos Temat założony przez niniejszego użytkownika |
nieokreślona ilość parametrów » 2009-06-10 18:22:59 jak są zbudowane funkcje takie jak printf() że można im podać dużo dodatkowych parametrów? printf( "%d:%d:%d", a, b, c ); |
|
WunM |
» 2009-06-10 19:34:14 |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2009-06-10 20:09:06 to jest w C napisane. są jakieś odpowiedniki stdarg.h w C++? |
|
DejaVu |
» 2009-06-10 20:12:51 To chyba jedyny sposób. |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2009-06-10 20:21:05 to tamten kod z linku z dodanym main()em int mnoz( int pierwszy,...) { va_list arg; int iloczyn = 1, t; va_start( arg, pierwszy ); for( t = pierwszy; t; t = va_arg( arg, int ) ) { iloczyn *= t; } va_end( arg ); return iloczyn; }
int main() { cout << mnoz( 2, 2, 2 ); getch(); return 0; } nie działa: wyświetla na ekranie "0" a nie "8" |
|
pekfos Temat założony przez niniejszego użytkownika |
» 2009-06-12 13:57:11 działa. zamykam temat, chyba został już wyczerpany |
|
manfred |
» 2009-06-10 20:19:03 cstdarg, jak każdy odpowiednik nagłówka z C ma nazwę z c na początku i bez rozszerzenia... |
|
manfred |
» 2009-06-10 20:43:24 a zrób tak: int mnoz( int count,...) { va_list arg; int retval = 1; va_start( arg, count ); for( int i = 0; i < count; i++ ) retval *= va_arg( arg, int ); return retval; }
mnoz( 6 , 9, 3, 5, 4, 2, 7 ); |
|
« 1 » |