Не могу разобраться с областью видимости переменных в switch-case - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: Non-English (
https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (
https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (
https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Не могу разобраться с областью видимости переменных в switch-case (
/showthread.php?tid=477932)
Не могу разобраться с областью видимости переменных в switch-case -
Urukhay - 27.11.2013
Уже сколько маюсь с этими локальными переменными. Вот на ровном месте буквально!
Почему в этом коде
HE пишет ошибку "symbol already defined":
pawn Code:
switch(dialogid)
{
case 109:
{
new xd;
new ld;
return 1;
}
case 108:
{
new ld;
switch(ld)
{
case 0: { new xd; return 1; }
case 1: { new xd; return 1; }
}
return 1;
}
}
А В ЭТОМ ПИШЕТ ТАКУЮ ОШИБКУ?:
pawn Code:
switch(dialogid)
{
case 109:
{
new name[21];
return 1;
}
case 108:
{
new name[21];
return 1;
}
}
Ребят, я вообще хз в чем дело, код буквально одинаковый, просто второй пример я взял из действующих диалогов. ВОТ В ЧЕМ ДЕЛО?
Re: Че за фигня? -
Richard_Gere - 27.11.2013
Проверьте может выше создавалась такая переменная или просто поменяйте название.
Re: Че за фигня? -
eakwarp - 27.11.2013
Это вопрос неадекватной работы кейсов. Увы, бывает, я уже давно автоматом пишу при создании подобных переменных внутри кейсов в павне, их в виде new (caseid)_nameint;
Re: Че за фигня? -
stabker - 27.11.2013
Тоже иногда с этим сталкиваюсь
Re: Че за фигня? -
Urukhay - 27.11.2013
Quote:
Originally Posted by eakwarp
Это вопрос неадекватной работы кейсов. Увы, бывает, я уже давно автоматом пишу при создании подобных переменных внутри кейсов в павне, их в виде new (caseid)_nameint;
|
Нет ссылочки на туториал как их использовать? Или просто добавлять пристaвку (casied)?
Re: Че за фигня? -
eakwarp - 27.11.2013
Quote:
Originally Posted by Urukhay
Нет ссылочки на туториал как их использовать? Или просто добавлять пристaвку (casied)?
|
(caseid) - абстрактная приставка, имеется ввиду вот такая конструкция
case 24:
{
new 24_str[255];
...
return 1;
}
Re: Не могу разобраться с областью видимости переменных в switch-case -
stabker - 28.11.2013
Сегодня работал со
switch и не получил никакого предупреждения о том, что использовал несуществующую переменную О_о. Будьте внимательными
Re: Не могу разобраться с областью видимости переменных в switch-case -
Gameyer - 29.11.2013
Скорее всего, переменная
name объявлена где-то ранее.