PDA

Просмотр полной версии : [Вопрос] warning 219: local variable "i" shadows a variable at a preceding level



KrutoyKrosch
25.02.2017, 01:55
Написал небольшой инклуд и компилятор ругается на все циклы...


warning 219: local variable "i" shadows a variable at a preceding level

Глобальной переменной i точно нету...

Я чет так и не разобрался, из-за чего это...

$continue$
25.02.2017, 03:34
А код показать, не?

KrutoyKrosch
25.02.2017, 03:40
Не



for(new i; i < sizeof(PosZonesForTaxi); i++) // 103
ZonesCity[i] = CreateDynamicPolygon(PosZonesForTaxi[i]);

for(new i; i < sizeof(TaxiPlayerID); i++) // 106
TaxiPlayerID[i] = -1;

for(new i; i < sizeof(ZonesCity); i++) // 275
{
if(ZonesCity[i] == areaid)
GameTextForPlayer(playerid, NameZonesForTaxi[i], 3000, 1), IDZonePlayer[playerid] = i;
}

for(new i; i < MAX_LIST_FOR_TAXI; i++) // 406
{
if(!strlen(ListPlayersForTaxi[i][0]))
continue;

format(string, sizeof(string), "%s%s\t%s\t%s\n", string, ListPlayersForTaxi[i][0], ListPlayersForTaxi[i][1], ListPlayersForTaxi[i][2]);
}




C:\Users\kruto\Desktop\system_taxi.inc(103) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\kruto\Desktop\system_taxi.inc(106) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\kruto\Desktop\system_taxi.inc(275) : warning 219: local variable "i" shadows a variable at a preceding level
C:\Users\kruto\Desktop\system_taxi.inc(406) : warning 219: local variable "i" shadows a variable at a preceding level
Pawn compiler 3.10.20160907 Copyright (c) 1997-2006, ITB CompuPhase
4 Warnings.


(да я компилирую инклуд и я не ошибся)

KrutoyKrosch
25.02.2017, 04:12
Потом уже подключил инклуд к моду. Компилятор стал ругаться на все циклы в моде и еще выдал ошибки....



../include/system_taxi.inc(144) : error 029: invalid expression, assumed zero
../include/system_taxi.inc(160) : error 029: invalid expression, assumed zero
../include/system_taxi.inc(171) : error 029: invalid expression, assumed zero
../include/system_taxi.inc(189) : error 029: invalid expression, assumed zero
../include/system_taxi.inc(204) : error 029: invalid expression, assumed zero
../include/system_taxi.inc(230) : error 029: invalid expression, assumed zero


Все эти строки одинаковы:


#if defined s1_OnDialogResponse
return s1_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
#else
return 1;
#endif


А сам перехват:


#if defined _ALS_OnDialogResponse
#undef OnDialogResponse
#else
#define _ALS_OnDialogResponse
#endif
#define OnDialogResponse s1_OnDialogResponse
#if defined s1_OnDialogResponse
forward s1_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
#endif


Причем перехватов в инклуде много, а ругается только на этот.

Вообще не врубаюсь...

Alpano
25.02.2017, 09:28
Во первых, попробуй просто сменить i на d, например и используй лучше циклы с определением размера так:

for(new i,k = sizeof(PosZonesForTaxi); i < k; i++)

Daniel_Cortez
25.02.2017, 10:34
Во первых, попробуй просто сменить i на d, например и используй лучше циклы с определением размера так:

for(new i,k = sizeof(PosZonesForTaxi); i < k; i++)
В который раз уже приходится это писать: не разбираетесь - не советуйте.
sizeof - это оператор, а не функция. Следовательно, выражение "sizeof(PosZonesForTaxi)" является константой - его результат вычисляется компилятором и нет смысла запоминать его в новой переменной.

Alpano
25.02.2017, 10:54
В который раз уже приходится это писать: не разбираетесь - не советуйте.
sizeof - это оператор, а не функция. Следовательно, выражение "sizeof(PosZonesForTaxi)" является константой - его результат вычисляется компилятором и нет смысла запоминать его в новой переменной.
http://www.semerkainfo.ru/forum/pic/osago-obyazatelno-dobrovolno-1428255992_komiksy-nichosi-33prikolaru-4_121116.jpg

Daniel_Cortez
25.02.2017, 11:11
http://www.semerkainfo.ru/forum/pic/osago-obyazatelno-dobrovolno-1428255992_komiksy-nichosi-33prikolaru-4_121116.jpg
Ваш сарказм здесь абсолютно неуместен. Не позорьтесь.

Alpano
25.02.2017, 11:41
Ваш сарказм здесь абсолютно неуместен. Не позорьтесь.

никакого сарказма, абсолютно искреннее удивление.
даже принципиально тесты провел, при 10^5 операций из-за разности принципа измерения кол-ва циклов скорость выполнения практически не отличалась. Единственное, мой вариант выигрывал буквально на 0,05 процента, но стабильно выигрывал :)

KrutoyKrosch
25.02.2017, 17:20
Скажите хотя бы из за чего ошибки такие появляться могут

DeimoS
25.02.2017, 17:39
Из-за кривого кода :)
Кидай полный код инка.

И да, зачем компилировать инклуд?

KrutoyKrosch
25.02.2017, 17:43
Охххх.... Стесняюсь своего быдлокода.... Ну вот http://dropmefiles.com/5434

Писал не для себя, а что бы проверить на работоспособность компилировал инклуд

DeimoS
25.02.2017, 18:05
http://i.imgur.com/C688p6I.png

Ты точно используемые инклуды не правил? Скинь в личку (ну или сюда) полностью Pawno и инклуд свой в виде архива. Можешь и сам мод туда же пихнуть, если нет ничего в нём сверхсекретного :)

KrutoyKrosch
25.02.2017, 18:11
Лол, сейчас скину

https://pp.vk.me/c638923/v638923947/2600e/A0T5tKKltbo.jpg

- - - Добавлено - - -

Вот Pawno и инклуд, а насчет мода ладно, там у меня реально возможно косяк в другом месте...

http://dropmefiles.com/kSdgd

DeimoS
25.02.2017, 18:53
http://i.imgur.com/b4XIKtC.png

KrutoyKrosch
25.02.2017, 18:55
Точно. Винду. Сносить. Буду.

Web
25.02.2017, 19:35
Дело то не в ней.

KrutoyKrosch
26.02.2017, 02:25
Дело то не в ней.

Да не, у меня прост и так лаги, а тут еще какой то косяк с компилированием