duda sobre forward...
#1

Buenas a todos, tengo una duda con forward, he visto ke algunos al crear un forward y public en vez de colocarlo de la siguiente manera:

pawn Код:
forward ejemplo(playerid)
public ejemplo(playerid) {

}
lo colocan asi, pero ami me tira error.
pawn Код:
forward public ejemplo(playerid) {

}
es valida esta forma? y por ke me tira error ami ?.

Desde ya muchas Gracias.
Reply
#2

me parece que esto
pawn Код:
forward public ejemplo(playerid);
es solo para hookear callbacks, o es lo que eh visto por que termina la callback ahi mismo.

edit si quieres usar solo una linea al hacer callbacks puedes crear un macro:
pawn Код:
#define CallBack(%0) forward(%0);public(%0)
Reply
#3

colocarlo asi es igual que colocarlo asi

pawn Код:
///igual te darб el mismo error.

forward
public ejemplo(playerid)
{

}
Utiliza mejor un Macro:

pawn Код:
#define CallBack%0(%1) forward%0(%1); public%0(%1)
Reply
#4

no es para utilizar el macro, eso ya lo se pero tenia esa duda, por ke algunos lo colocan asi por ejemplo chaoz cuando da un ejemplo y otros.
Reply
#5

Quote:
Originally Posted by bytytus
Посмотреть сообщение
no es para utilizar el macro, eso ya lo se pero tenia esa duda, por ke algunos lo colocan asi por ejemplo chaoz cuando da un ejemplo y otros.
se coloca asi
pawn Код:
forward public ejemplo(playerid);
para llamar a una callback que no tiene ninguna funciуn, pero es necesario que sea llamada, esto se usa en includes con hooks, puedes probar poniendo asi solamente:

pawn Код:
forward public ejemplo(playerid);
y luego en OnPlayerConnect

pawn Код:
printf("aun no es llamado");
ejemplo(playerid);
printf("Ya ha sida llamada la callback");
de esa manera compruebas que se llama a una callback sin funcion, en el uso de los hooks esto sirve mucho.

Saludos.
Reply
#6

Quote:
Originally Posted by xSDx
Посмотреть сообщение
se coloca asi
pawn Код:
forward public ejemplo(playerid);
para llamar a una callback que no tiene ninguna funciуn, pero es necesario que sea llamada, esto se usa en includes con hooks, puedes probar poniendo asi solamente:

pawn Код:
forward public ejemplo(playerid);
y luego en OnPlayerConnect

pawn Код:
printf("aun no es llamado");
ejemplo(playerid);
printf("Ya ha sida llamada la callback");
de esa manera compruebas que se llama a una callback sin funcion, en el uso de los hooks esto sirve mucho.

Saludos.
ah, ok listo entonce ya entendi.
Gracias, duda aclarada .

Saludos.
Reply
#7

en realidad, ambas formas son correctas:

pawn Код:
forward public Nombre(parametros);
como :

pawn Код:
forward Nombre(parametros);
La diferencia esta en que si se declara de la primer forma, se agregan algunas restricciones como no poder declarar valores por defecto.
Reply
#8

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
en realidad, ambas formas son correctas:

pawn Код:
forward public Nombre(parametros);
como :

pawn Код:
forward Nombre(parametros);
La diferencia esta en que si se declara de la primer forma, se agregan algunas restricciones como no poder declarar valores por defecto.
A que te referis por no poder declarar valores por defecto?
Reply
#9

Valores que toman por defecto si el usuario no indica alguno (Parametros opcionales por asi decirlo).
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)