[Ajuda] Funзгo e parвmetros
#1

Olб meus queridos,
Fiz uma funзгo da seguinte sintaxe:
Код:
Function(param1[], Float:param2, Float:param3, Float:param4, Float:param5)
Mas assim, nem sempre que eu for executar ela precisarб informar todos os parвmetros, entenderam ?
Por exemplo:
(Chamei um dialog onde tinha que escrever uma string)
pawn Код:
Function(inputtext);
Neste caso dб o seguinte erro: "number of arguments does not match definition"
Й possнvel executar uma funзгo sem informar todos os parвmetros ?
Reply
#2

й sу vocк deixar argumentos padrхes. Exemplo

function(nome, idade = 0, telefone = 0);

Quando eu for chamar, so serei obrigado a por o nome, os outros caso nгo informado terгo os valores que coloquei.
Reply
#3

Vocк pode usar #pragma unused, ou fazer da seguinte forma

pawn Код:
Function(param1[], Float:param2 = 0.0, Float:param3 = 0.0, Float:param4 = 0.0, Float:param5 = 0.0)
Reply
#4

Eu defini o valor 0.0 para os parвmetros e retirou o erro.
Mas se eu chamara essa funзгo definindo os valores dos parвmetros que eu defini para 0.0 , o valor vai substituir o 0.0 nй ?

E como seria o uso do #pragma unused nesta situaзгo ?
Reply
#5

Ao adicionar = 0.0 nesse caso, vocк define 0.0 como valor padrгo, mas caso vocк forneзa outro valor ao chamar essa funзгo, o valor padrгo й substituido...

#pragma unused param2
#pragma unused param3
#pragma unused param4
#pragma unused param5


O outro jeito й mais prбtico
Reply
#6

Aproveitando o tуpico.
Se eu precisar informar um valor inteiro no primeiro argumento, o vetor, como no exemplo:
pawn Код:
new val = strval(inputtext);
Function(val);
Como eu usaria o valor inteiro dentro da funзгo ?

OBS: Aparece o erro "argument type mismatch (argument 1)" na linha "Function(val)"
Reply
#7

Na funзгo vocк fala que o primeiro valor serб uma string, entгo sу se vocк converter int para str, mas nesse caso, й sу tirar o strval
Reply
#8

Quote:
Originally Posted by Joao Pedro
Посмотреть сообщение
Na funзгo vocк fala que o primeiro valor serб uma string, entгo sу se vocк converter int para str, mas nesse caso, й sу tirar o strval
Nгo entendi muito bem... Mas criei outro parвmetro inteiro pra num ficar convertendo e tal.

Obrigado а todos que se importaram e ajudaram.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)