Question

irus1an
Новичок

Смотрите, если ставлю название энума диалогов E_DIALOGS, то в месте, где используются диалоги из этого энума происходят варнинги. Скрины (сюда не вставляются, сорри):
https://ibb.co/Mc3fKVq
https://ibb.co/qM0Pv4w

Если убрать из названия энума капслок (написать просто e_dialogs), то все нормально. В общем потестил, ошибка вылазит, если название начинается с большой буквы. e_DIALOGS проходит, а вот E_dialogs нет. Что за бред?
Еще, если закомменитировать строки, где варнинги происходят (ShowPlayerDialog), то варнинги пропадают (даже если название остается E_DIALOGS). Т.е. варнинги происходят, когда я использую элементы энума, например, DIALOG_REGISTER в ShowPlayerDialog.
Протестировал это все в new.pwn и варнинги все равно появляются.

Была мысль, вдруг в каком-то инклуде самповском уже есть энум E_DIALOGS, но почему тогда варнинги срабатывают и на другие названия, которые начинаются с большой буквы?

Share this post


Link to post
Share on other sites

7 answers to this question

  • 0
DEST
Maintainer

@irus1an возможно, это баг компилятора. Попробуйте использовать альтернативный компилятор , либо, если здесь не будет других ответов, обратиться на pro-pawn, там присутствует один из разработчиков альтернативного компилятора. Попробуйте кстати редактировать текст в стандартном редакторе

Share this post


Link to post
Share on other sites
  • 0
irus1an
Новичок
16 часов назад, DEST сказал:

@irus1an возможно, это баг компилятора. Попробуйте использовать альтернативный компилятор , либо, если здесь не будет других ответов, обратиться на pro-pawn, там присутствует один из разработчиков альтернативного компилятора. Попробуйте кстати редактировать текст в стандартном редакторе

Пробовал в стандартном редакторе - тоже самое.

Поставил последний компилятор от Zeex'a. Ошибка та же, но уже более содержательная:

C:\Users\blablabla : warning 213: tag mismatch: expected tag none ("_"), but found "E_DIALOGS"

Видел в интернете решение, перед переменными из энума ставить тег _:, напр,

ShowPlayerDialog(playerid, _:DIALOG_REGISTER и т.д.)

И это работает.. Но все-таки интересно, в чем тут дело. И что вообще значит этот пустой тег _:?

Edited by irus1an

Share this post


Link to post
Share on other sites
  • 0
DEST
Maintainer

Тэги это что-то вроде "типизации", если в native ShowPlayerDialog переменная без тега, аналогично _: , значит и передать ее нужно без тега.

Share this post


Link to post
Share on other sites
  • 0
irus1an
Новичок
15 часов назад, DEST сказал:

Тэги это что-то вроде "типизации", если в native ShowPlayerDialog переменная без тега, аналогично _: , значит и передать ее нужно без тега.

Так если я явно его не указываю, то почему он вместо меня что-то ставит (судя по тексту ошибки).

Share this post


Link to post
Share on other sites
  • 0
Cawfee
Великий Гуру

@irus1an, а не пробовали задать значение по умолчанию для первого элемента перечисления?

Спойлер

enum E_DIALOGS {
	DIALOG0 = 0,
	DIALOG1,
	DIALOG2,
	...
};

 

 

Share this post


Link to post
Share on other sites
  • 0
irus1an
Новичок
7 часов назад, odosenok сказал:

@irus1an, а не пробовали задать значение по умолчанию для первого элемента перечисления?

  Код (открыть спойлер)


enum E_DIALOGS {
	DIALOG0 = 0,
	DIALOG1,
	DIALOG2,
	...
};

 

 

Пробовал. Не помогает. В общем, попробую достучаться до разработчика компилятора на том форуме.

Edited by irus1an

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • ANIME_TOP12YLTRA
      By ANIME_TOP12YLTRA
      Помогите пожалуйста у меня еррор при компиляции
      C:\RED RUSSIA GAMES - МОД\pawno\include\customtune.inc(179) : error 001: expected token: ";", but found "["
      C:\RED RUSSIA GAMES - МОД\pawno\include\customtune.inc(179) : error 029: invalid expression, assumed zero
      C:\RED RUSSIA GAMES - МОД\pawno\include\customtune.inc(179) : warning 221: label name "E_HANDLING_PARAMS" shadows tag name
      C:\RED RUSSIA GAMES - МОД\pawno\include\customtune.inc(179) : error 001: expected token: ";", but found "]"
      C:\RED RUSSIA GAMES - МОД\pawno\include\customtune.inc(179) : fatal error 107: too many error messages on one line
      Compilation aborted.
      Pawn compiler 3.2.3664              Copyright (c) 1997-2016, ITB CompuPhase

      4 Errors.
       
      код - g_VehHandlingInfo[veh][E_HANDLING_PARAMS:j] = 0.0;
    • Young_Boych1k
      By Young_Boych1k
       
      В моде инклуд LauncherAddon подключил сразу после a_samp.
      Помогите пожалуйста

      После подключения к серверу лог заспамило этим: