|
Массивы в Switch
|
|
| H1TnRuN | Дата: Вторник, 01.06.2010, 12:53 | Сообщение # 1 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 82
Награды: 1
Город: Cherepovets
Репутация: 17
Замечания: 0%
Статус: 
| Допустим есть функция: Code forward Function(var); public Function(var) { switch (var) { case 0: { new a; new b[8]; } case 1: { new a; new b[8]; } } } Компилится на ура. А вот при компиляции функции типа: Code forward Function(var); public Function(var) { switch (var) { case 0: { new a; new b[8]; new c[8][8]; } case 1: { new a; new b[8]; new c[8][8]; } } } Появляются ошибки о двойном объявлении a, b, c. Code ..\Untitled.pwn(17) : error 021: symbol already defined: "a" ..\Untitled.pwn(18) : error 021: symbol already defined: "b" ..\Untitled.pwn(19) : error 021: symbol already defined: "c" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 3 Errors. Если кто знает просьба ответить, заранее спс.
|
| |
|
|
| Eakwarp | Дата: Вторник, 01.06.2010, 13:04 | Сообщение # 2 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 4874
Награды: 179
Город: Москва
Репутация: 2543
Замечания: 60%
Статус: 
| forward Function(var); public Function(var) { new a; new b[8]; new c[8][8]; switch (var) { case 0: { } case 1: { } } } не?
More than 4 years of development, more than 250,000 lines of source code, more than a hundred units and more than 3400 revisions. Valakas Roleplay - choose your role.
Valakas Roleplay on Twitter
Платные консультации, разработка, в ICQ. Дорого.
|
| |
|
|
| stepmex | Дата: Вторник, 01.06.2010, 13:05 | Сообщение # 3 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| H1TnRuN, изучи что такое типы переменных http://wiki.sa-mp.com/wiki/Scripting_Basics Не рекомендую использовать многомерные массивы локально!
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| H1TnRuN | Дата: Вторник, 01.06.2010, 13:21 | Сообщение # 4 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 82
Награды: 1
Город: Cherepovets
Репутация: 17
Замечания: 0%
Статус: 
| Eakwarp, ну да, такого я конечно и сам додумался stepmex, это я уже прочитал давно все, там про проблему выше ничего вроде не написано. Причем странно то, что все что выше c[8][8] является якобы тоже уже объявленным, хотя там может быть и не массив вовсе. Как будто он и все что вышего него становиться глобальным Quote (stepmex) Не рекомендую использовать многомерные массивы локально! Получается их и если захочешь, то не сможешь использовать, если конечно у них имена совпадают. Спасибо за оперативный ответ
|
| |
|
|
| stepmex | Дата: Вторник, 01.06.2010, 14:18 | Сообщение # 5 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Quote (H1TnRuN) там про проблему выше ничего вроде не написано. написано ты просто искал не то А так проблема тут не столько в переменных сколько с самой концепции switch - case. Если например это 2 разных "блока", то Code switch{ case 0:{} case 1:{} } это один "блок" чтобы их разделить нужно в каждом case в конце прописывать breack;
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
|
| |
|
|
| Awm | Дата: Вторник, 01.06.2010, 14:29 | Сообщение # 6 |
|
Группа:
I'm V.I.P.
Сообщений: 3235
Награды: 55
Город: Tallinn
Репутация: 1661
Замечания: 0%
Статус: 
| Quote (stepmex) чтобы их разделить нужно в каждом case в конце прописывать breack; break;
"Life is hard... life is harder if you're stupid." - John Wayne
Сообщение отредактировал Awm - Вторник, 01.06.2010, 14:29 |
| |
|
|
| stepmex | Дата: Вторник, 01.06.2010, 15:19 | Сообщение # 7 |
|
Мастер джэдай
Группа:
Продвинутые
Сообщений: 2914
Награды: 35
Город: Е-бург
Репутация: 1032
Замечания: 0%
Статус: 
| Awm, я всегда сперва неправильно пишу, даже когда програмирую, потом замечаю что неподсветилось и исправляю
И создал Бог женщину!.. Существо получилось злобное, но симпатичное...
Сообщение отредактировал stepmex - Вторник, 01.06.2010, 15:20 |
| |
|
|
| H1TnRuN | Дата: Вторник, 01.06.2010, 15:42 | Сообщение # 8 |
|
Освоившийся
Группа:
Продвинутые
Сообщений: 82
Награды: 1
Город: Cherepovets
Репутация: 17
Замечания: 0%
Статус: 
| stepmex, хм, чисто для проверки попробывал дописать Брик. error 024: "break" or "continue" is out of context я так понимаю в Павно Брик можно писать только в циклах что-ли?Добавлено (01.06.2010, 15:42) ---------------------------------------------
Quote (stepmex) это один "блок" Да, но ведь в них можно объявлять локальные переменные с одинаковыми именами без 219 варнинга. Но почему-то с многомерными массивами такое не прокатывает...
|
| |
|
|