Question

Дратути. У меня проблема...

 initialization data exceeds declared size

Код: 

stock UpdateHouse(house)
{
    new string[300];
    if(IsValidDynamicMapIcon(HouseIcon[house])) DestroyDynamicMapIcon(HouseIcon[house]);

    static const dour_status[2][23 + 1] = {
        "{3D9829}Открыта{FFFFFF}",
        "{C22323}Закрыта{FFFFFF}"
    };
    static const hgarage_status[2][24 + 1] = {
        "[{fa736c} Неимеется {FFFFFF}]", тут ошибка
        "[{27c627} Имеется {FFFFFF}]"
    };

 

Share this post


Link to post
Share on other sites

27 answers to this question

  • 0

@MrGerst, не указывайте размеры константных массивов и будет вам счастье. А вообще могли бы перевести текст ошибки, посмотреть заявленный размер массива и фактический — тоже будет счастье, но и понимание возникнет.

Share this post


Link to post
Share on other sites
  • 0

@Cawfee Я не указывал, я просто изменял названия фракций и исправлял команду /leaders...

Share this post


Link to post
Share on other sites
  • 0

up

Share this post


Link to post
Share on other sites
  • 0
В 25.08.2023 в 15:59, MrGerst сказал:

Я не указывал

Неважно, кто указал, важно, что размеры массивов заданы.

 

В 25.08.2023 в 15:49, Cawfee сказал:

А вообще могли бы перевести текст ошибки

Вы это сделали?

 

В 25.08.2023 в 15:49, Cawfee сказал:

А вообще могли бы [...] посмотреть заявленный размер массива и фактический

Какие размеры массивов заданы в коде программы и какие размеры имеют массивы на самом деле?

Share this post


Link to post
Share on other sites
  • 0

Как исправить? Я не догоняю...

Share this post


Link to post
Share on other sites
  • 0
    static const dour_status[2][4095 + 1] = {
        "{3D9829}Открыта{FFFFFF}",
        "{C22323}Закрыта{FFFFFF}"
    };
    static const hgarage_status[2][4095 + 1] = {
        "[{fa736c} Неимеется {FFFFFF}]", тут ошибка
        "[{27c627} Имеется {FFFFFF}]"
    };

если не хочешь таких ошибок - всегда указывай 4096

Share this post


Link to post
Share on other sites
  • 0

@MrGerst, я вам задал достаточное для понимания сути проблемы число вопросов. Тем не менее, вы пошли по пути бездействия в ожидании чуда...

@hokageud, что мешает вообще не указывать размеры константных массивов? 

Share this post


Link to post
Share on other sites
  • 0

@hokageud Ошибка не исправилась..

Но вылезла новая

CMD:leaders(playerid)
{
    SendClientMessage(playerid, COLOR_RED, !"Лидеры онлайн:");
    static const leadrank[27][25] =
    {
        {"{FFBF00}Los Santos City Police"},//тут такаяже ошибка

 

Share this post


Link to post
Share on other sites
  • 0

@Cawfee особый вид мазохизма, дабы потом создавать темы на форуме и не более

Share this post


Link to post
Share on other sites
  • 0

@hokageud Пон, как решить то проблему?

Share this post


Link to post
Share on other sites
  • 0
stock UpdateHouse(house)
{
    new string[300];
    if(IsValidDynamicMapIcon(HouseIcon[house])) DestroyDynamicMapIcon(HouseIcon[house]);

    static const dour_status = { тут 
        "{3D9829}Открыта{FFFFFF}"
        "{C22323}Закрыта{FFFFFF}"
    };
    static const hgarage_status = {
        "{fa736c} Неимеется {FFFFFF}", и тут
        "{27c627} Имеется {FFFFFF}"
    };

 

Share this post


Link to post
Share on other sites
  • 0

@MrGerst, вы не можете в одну ячейку записать столько байтов. Вам нужен массив, просто без указания его размеров: [][].

Share this post


Link to post
Share on other sites
  • 0

@Cawfee Просто убрать цыфры?

Share this post


Link to post
Share on other sites
  • 0

@MrGerst, я 3 раза в теме сказал об этом, но вы уже неделю динамично не обращаете на это внимание.

Share this post


Link to post
Share on other sites
  • 0

@Cawfee Я не понимаю что вы написали там...

Share this post


Link to post
Share on other sites
  • 0
stock UpdateHouse(house)
{
    new string[300];
    if(IsValidDynamicMapIcon(HouseIcon[house])) DestroyDynamicMapIcon(HouseIcon[house]);

    static const dour_status[2][4096] = { тут 
        "{3D9829}Открыта{FFFFFF}"
        "{C22323}Закрыта{FFFFFF}"
    };
    static const hgarage_status[2][4096] = {
        "{fa736c} Неимеется {FFFFFF}", и тут
        "{27c627} Имеется {FFFFFF}"
    };

 

Share this post


Link to post
Share on other sites
  • 0

@hokageud 

.pwn(13543) : error 018: initialization data exceeds declared size

 

Edited by MrGerst

Share this post


Link to post
Share on other sites
  • 0

@MrGerst я (Слово удалено системой) не ванга, строку кидай

Share this post


Link to post
Share on other sites
  • 0

@hokageud 

  "{fa736c} Неимеется {FFFFFF}",

Share this post


Link to post
Share on other sites
  • 0

@MrGerst, все хорошо компилируется компилятором от Zeex.

 

Спойлер

изображение_2023-08-31_203812861.png

 

Share this post


Link to post
Share on other sites
  • 0

@Cawfee У меня VS code

 

Share this post


Link to post
Share on other sites
  • 0

@MrGerst, VSCode - это среда разработки, такая же как и Eclipse, Visual Studio, CodeBlocks и ряд других. Все, что делает среда разработки, так это дает вам красивое представление кода, предоставляет удобные инструменты для работы с этим самым кодом и, конечно, вызывает компилятор, чтобы тот из набора ваших исходных файлов собрал файл, подлежащий исполнению на amx машине, путем ее компиляции. И именно о компиляторе сейчас идет речь.

Share this post


Link to post
Share on other sites
  • 0

@Cawfee  У меня такая же ошибка в такой же строчке в pawno.exe

 

Share this post


Link to post
Share on other sites
  • 0
Спойлер

требую добавить на форум дизлайки, необходимая вещь порой

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.