PDA

Просмотр полной версии : [Вопрос] Принимаемые аргументы в функцию



execution
07.09.2019, 10:05
Функция принимает нужное количество аргументов исходя из того, сколько я передам в неё.
Почему-то выдаёт предупреждение об "необъявленный символ "Float"" при форматировании. Что может не так?

stock LoggedPlayer(const playerid, const logged_action[], const LOGGED_TYPE:logged_type, {Float,_}:...)
{
if (0 == IsPlayerConnected(playerid))
return 0;

static
logged_string[256];

logged_string[0] = '\0';

format(logged_string, sizeof logged_string, logged_action, {Float,_}:...); //Тут ошибка
//etc

return 1;
}

tnc
07.09.2019, 13:18
numargs (http://wiki.pro-pawn.ru/wiki/Numargs), getarg (http://wiki.pro-pawn.ru/wiki/Getarg), tagof (http://pro-pawn.ru/showthread.php?12257-%D0%9F%D0%B5%D1%80%D0%B5%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-Pawn&highlight=tagof)

execution
07.09.2019, 14:53
numargs (http://wiki.pro-pawn.ru/wiki/Numargs), getarg (http://wiki.pro-pawn.ru/wiki/Getarg), tagof (http://pro-pawn.ru/showthread.php?12257-%D0%9F%D0%B5%D1%80%D0%B5%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-Pawn&highlight=tagof)

В данном случая - они мне не нужны.

Daniel_Cortez
07.09.2019, 16:14
numargs (http://wiki.pro-pawn.ru/wiki/Numargs), getarg (http://wiki.pro-pawn.ru/wiki/Getarg), tagof (http://pro-pawn.ru/showthread.php?12257-%D0%9F%D0%B5%D1%80%D0%B5%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B9-%D0%B2-Pawn&highlight=tagof)
Эти функции нужны для чтения значений аргументов, в то время как топикстартеру нужна их дальнейшая передача. И при чём здесь tagof?

@execution, если используете YSI, в y_va.inc есть функция va_format(). Либо же вам придётся делать весь вызов функции format() через emit, вручную передавая все аргументы.