Declarar atribuindo valor
Enviado: 09 Jul 2025 13:46
Tava aqui mexendo com fonte de terceiros e peguei isso.
Isso declara apenas A como LOCAL.
Os demais já são operação de atribuição, e serão variáveis PRIVATE.
Já o último aviso é normal... declarei a variável A e não usei pra nada, está inútil no fonte, a mensagem é sobre atribuir zero e não usar pra nada.
Mas retirando o 0, vai continuar inútil, declarada e não usada e vai mudar a mensagem de erro.
Código: Selecionar todos
LOCAL A := B := C := D := 0
Os demais já são operação de atribuição, e serão variáveis PRIVATE.
O erro compilando com -w3 -es2 é justamente alertando sobre a falta de declaração das outras variáveisd:\temp>copy con x.prg
PROCEDURE Main
LOCAL A := B := C := D := E := 0
RETURN
^Z
1 arquivo(s) copiado(s).
d:\temp>hbmk2 x -w3 -es2
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2503251254)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'x.prg'...
x.prg:3: warning W0001 Ambiguous reference 'E'
x.prg:3: warning W0001 Ambiguous reference 'D'
x.prg:3: warning W0001 Ambiguous reference 'C'
x.prg:3: warning W0001 Ambiguous reference 'B'
x.prg:6: warning W0032 Variable 'A' is assigned but not used in function '3:MAIN'
No code generated.
Já o último aviso é normal... declarei a variável A e não usei pra nada, está inútil no fonte, a mensagem é sobre atribuir zero e não usar pra nada.
Mas retirando o 0, vai continuar inútil, declarada e não usada e vai mudar a mensagem de erro.