Вопрос опытным.
#1

Дело в том, что у я использую локальные переменные для получения кол-ва строк из базы.. Так вот мне нужно получать эти строки во многих диалогах, но при объявлении переменных в каждом диалоге (dialogid) у меня возникают ошибки, мол такая переменная уже объявлялась в диалоге выше. Так вот как быть? Использовать разные названия переменных? Или вообще создать сразу все переменные в паблике DialogRespone, но тогда много памяти сожрет.
Не удобно конечно сделали, что нельзя объявлять переменные таким образом(тем, кто не понял):
pawn Код:
switch(lalala)
{
     case 0: new test; // тут допустим она нам нужна
     case 1: // тут нам переменная test не нужна.
     case 2: new test; // а тут вот снова нужна
     case 3..999: // а тут подавно не нужна
}
Так вот как быть? Неужели объявлять эту переменную на 999 кейсов?
pawn Код:
new test;
switch(lol)
{
     case 0: // нужна test
     case 2: // и тут вот снова нужна
     case 3..999: // подавно не нужна
}
Reply
#2

Какая разница, на сколько кейсов? Объявил до switch - единоразово зарезервировал в памяти ячейки под нее.
Или ты думал, что при каждом кейсе выделяется память до ранее объявленной переменной?

Впрочем, если совсем принципиально нужно - чего бы до switch не пихнуть проверку условия?
pawn Код:
if (lalala == 0 || lalala == 1) new test;
switch(lalala)
{
     case 0: // тут допустим она нам нужна
     case 1: // тут нам переменная test не нужна.
     case 2: // а тут вот снова нужна
     case 3..999: // а тут подавно не нужна
}
Reply
#3

Зачем создавать ещё одну, новую переменную? Используй ту, которая стоит выше.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)