Warnings -
NWDMadara - 06.04.2019
Como corrigir isto: "literal array/string passed to a non-const parameter"?
Estes warnings ( Cerca de 700 ), apareceram depois que eu atualizei o compilador para a versгo 3.10.9. Jб procurei sobre e nгo entendi muito bem como corrigi-los.
https://github.com/pawn-lang/compile...st-Correctness
Re: Warnings -
1sbedx - 06.04.2019
Vocк deve atualizar sua versгo do YSI para 5.x, que deve corrigir esses avisos.
https://github.com/pawn-lang/YSI-Includes/tree/5.x
Re: Warnings -
NWDMadara - 06.04.2019
Atualizei, apуs isso, tive que baixar alguns arquivos manualmente que estavam com as suas pastas vazias e estavam dando erros. indirection, code-parse, md-sort.
Mesmo assim, os warnings continuam.
Nгo sei se isso interfere, mas, agora ele pede pra definir por <YSI_Coding\y_hooks> e <YSI_Data\y_iterate>
antes era apenas YSI\y_iterate e YSI\y_hooks. E mesmo definido o y_hooks como ele pede, o warning continua.
pawno\include\YSI\y_hooks.inc(80) : warning 237: user warning: Please use `#include <YSI_Coding\y_hooks>`
Re: Warnings -
1sbedx - 06.04.2019
Vocк usa mуdulos? mudou em todos eles?
Re: Warnings -
NWDMadara - 06.04.2019
Nгo utilizo modulos
Re: Warnings -
Eiss - 06.04.2019
Isso estб relacionado a semвntica da assinatura da funзгo.
Algo como,
pawn Code:
// Vai exibir o warning - literal array/string passed to a non-const parameter
Exemplo(string[])
// Nгo vai exibir o warning
Exemplo(const string[])
Re: Warnings -
NWDMadara - 06.04.2019
Eu nгo entendi uma coisa, jб que essas strings sгo constantes, elas podem ter o seu valor alterado? Se sim, como?
Re: Warnings -
Eiss - 06.04.2019
Quote:
Originally Posted by NWDMadara
Eu nгo entendi uma coisa, jб que essas strings sгo constantes, elas podem ter o seu valor alterado? Se sim, como?
|
Nгo! constantes nгo podem ter seus valores alterados.
pawn Code:
main() {
Exemplo("Isso й um exemplo");
}
Exemplo(string[]) {
print(string);
}
No exemplo acima foi declarado o parвmetro
string, mas em nenhum momento o mesmo teve seu valor modificado.
Й exatamente por isso que й mostrado o warning.
Re: Warnings -
1sbedx - 06.04.2019
Nгo podem ser alteradas.
Exemplo:
PHP Code:
#include "a_samp"
f(arr[]) {
printf("%s", arr);
}
test() {
/*
Vai exibir o warning - literal array/string passed to a non-const parameter
*/
f("abc");
/*
Nгo vai exibir o warning - literal array/string passed to a non-const parameter
*/
new
string[] = "abc";
f(string);
}
main () {
test();
}