Просмотр полной версии : [Вопрос] Дополнительный параметр по ссылке
К примеру, есть функция:
stock myFunc(p1, &p2)
{
p2 = 1;
}
Как можно ловко избежать использования второго параметра при вызове, не создавая для этого переменную?
Вызов функции:
new myVar; // не создавая его
myFunc(5, myVar);
stock myFunc(p1, &p2 = 1)
{
p1 = 1;
}
myFunc(p1, _);
stock myFunc(p1, &p2 = 1)
{
p1 = 1;
}
myFunc(p1, _);
error 059: function argument may not have a default value
Daniel_Cortez
19.11.2016, 23:12
stock myFunc(p1, &p2 = 1)
{
p1 = 1;
}
Почти так, но только значением по умолчанию должно быть число, обозначающее неправильный адрес в секции данных - cellmin, например.
Проверку на пропуск параметра тогда следует делать с помощью #emit.
stock myFunc(p1, &p2 = cellmin)
{
new bool:p2_skipped;
#emit load.s.pri p2
#emit eq.c.pri cellmin
#emit stor.s.pri p2_skipped
if (false == p2_skipped)
p2 = 42;
}
Powered by vBulletin® Version 4.2.0 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot