|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Evgenij M. Baldin 2:5020/400 14 Jul 2005 07:45:29 To : Kirill Frolov Subject : Re: Переменное число аргументов? -------------------------------------------------------------------------------- Добрый день Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> wrote: KF> Hемедленно нажми на RESET, Artem Chuprina! KF> On Wed, 13 Jul 05 19:00:29 +0400, Artem Chuprina wrote: EMB>>> int function(int arg=10) {printf("%d\n",arg);} EMB>>> чтобы можно было вызвать и как function(100) и просто function() EMB>>> что бы при этом arg по умолчанию был 10 EMB>>> Подобное вообще возможно? AC>> В C - нет. То есть позвать-то без аргументов возможно, и даже AC>> позовется, но значение 10 взять (читай: определить, с аргументом позвали AC>> или без) будет неоткуда. KF> А было бы интересно знать число переданных в функцию аргументов... KF> Может трюк какой придумать можно? Hа сколько я понял - это невозможно. Только если договориться об специальном окончании, например, последний аргумент 0, или первый аргумент передаёт число аргументов. В этом смысле понятие defined/!defined, которое есть в perl очень бы пригодилось. Придётся специальную функцию городить, точнее их семейство :( С уважением Евгений i -- Budker Institute of Nuclear Physics e-mail: E.M.Baldin(at)inp.nsk.su WWW: http://www.inp.nsk.su/~baldin --- ifmail v.2.15dev5.3 * Origin: BINP, Novosibirsk, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/8843ec690b1e.html, оценка из 5, голосов 10
|