Что значит ошибка при компиляции

Ошибки компиляции

Второй тип ошибки, о которой может сообщить ваша игра, — это ошибка компилятора. Ошибка компилятора возникает, когда ваша игра сталкивается с каким-либо типом ошибки, которую не смогла обнаружить проверка синтаксиса — очень просто например, забыть объявить переменную или ошибочно ввести строку как real — или когда ошибка связана с тем, как вы настроили инструменты компиляции из Platform Preferences для целевой платформы. Эти ошибки будут отловлены GameMaker Studio 2 в процессе компиляции игры, и эта информация также будет показана в Compiler Error Output, как показано ниже:

ПРИМЕЧАНИЕ: Эти ошибки обычно не выводят окно и просто показывают » Build Failed » в выводе компилятора. Если появляется окно, то это обычно ошибка Runner Error, которая объясняется здесь.

Все сообщения об ошибках компилятора будут иметь одинаковый формат:

[object] — [event] — [Line Number]: [error string]

Если ошибка найдена в сценарии, то это будет просто:

[script] — [Line Number]: [error string]

Затем вы можете дважды щелкнуть на любой из записей об ошибке компилятора, чтобы открыть данный актив в позиции, отмеченной как дающая ошибку, и затем вы можете использовать информацию, содержащуюся в сообщении. можно использовать информацию, содержащуюся в сообщении, чтобы точно определить, где именно в объекте или сценарии произошла ошибка. Однако иногда эти ошибки могут показаться немного загадочными, поэтому ниже вы найдете полный список всех ошибок и краткое объяснение того, что они означают:

Разное

Струны

Скрипты, Функции и аргументы

Ожидаемые символы/значения

Источник

Читайте также:  Солнечные зайчики что это значит
Оцените статью
Ошибка Описание
Нет программы для компиляции Предыдущая ошибка компиляции привела к тому, что дерево разбора компилятора не было создано, и поэтому у компилятора нет данных программы для компиляции
Фатальная ошибка при компиляции [имя] — подробности ниже Это сообщение означает, что обнаружена какая-то ошибка, но компилятор не может определить, какая и где (если такое происходит постоянно, вы можете обратиться в службу поддержки YoYo Games и предоставить данные, которые показывает окно вывода компилятора).
Рекурсивное расширение макросов не поддерживается Вы использовали рекурсивные макросы, которые ссылаются друг на друга и постоянно расширяются
Невозможно найти TextureGroup [group] Эта ошибка обычно возникает только при попытке запустить неправильно сформированный файл проекта (если это происходит постоянно, вы можете обратиться в службу поддержки YoYo Games и предоставить детали, которые показывает окно вывода компилятора)
Неправильное преобразование [value] в число Вы попытались преобразовать заданное значение, например, строку, в число
Деление на 0 Вы пытались разделить значение на 0
Использован неверный идентификатор объекта [object ID] Вы попытались получить доступ к объекту, используя неверное значение ID
Незакрытый комментарий ( /* ) в конце сценария Вы создали комментарий к сценарию с помощью
/* [comment] */
, но не поставили закрывающий тег комментария.
Неверный токен В коде вашей игры есть недопустимый символ, что может произойти с символами иностранного языка или Unicode
Номер [num] в неправильном формате Заданное число — показанное в ошибке — не является правильным форматом для выполняемой функции или операции, например, вы предоставили целое число, когда требуется указатель
Возникла неожиданная ошибка EOF Вы неожиданно достигли конца файла при использовании функций файла
Невозможно Не строка Вы пытались использовать » ! » (не) в строке
Невозможно отрицать строку Вы пытались отрицать строку, например
string = -string
Неправильное количество аргументов для функции [function] Вы указали слишком много или слишком мало аргументов для данной функции
Не удалось разобрать action_execute_script() — получено неверное количество аргументов Действие DnD™ «Выполнить сценарий» имеет слишком много или слишком мало аргументов для вызываемого сценария
Неизвестная функция [function] проверьте, не пуст ли скрипт. Был вызван скрипт или функция, которую компилятор не распознал (эта ошибка обычно возникает при пустых ссылках на активы скрипта, поскольку компилятор удаляет эти активы при компиляции).
Функция [function] ожидает n аргументов, a предоставлено Функция получила неправильное количество аргументов ( n ), когда ожидалось определенное количество ( a )
Присвоение пустого значения (функция ничего не возвращает?) Вы пытались присвоить возвращаемое значение функции, когда эта функция ничего не возвращает
Невозможно найти функцию [function] Вы вызвали неизвестную функцию
Вызов функции, которой нужен экземпляр, а экземпляр недоступен Вызываемая функция или сценарий предназначены для действия над экземпляром, но на момент выполнения не существует ни одного экземпляра
Вызов функции, которая нуждается в другой функции, а другая функция недоступна Вы использовали ключевое слово other вне события столкновения или вне высказывания with .
Ошибка именования аргументов, n аргументов, но не найдена ссылка на a Вы задали несколько аргументов сценарию, но не указали один из них в сценарии, например, ваш сценарий принимает три аргумента, но вы используете только аргументы n и a
Невозможно сравнить аргументы Вы пытались сравнить два разных типа аргументов, например, строку и вещественное число.
Неизвестная функция или сценарий [functions/script] Компилятор не распознает вызываемую функцию или скрипт
Невозможно использовать имя ресурса [resource] , поскольку он не экспортируется. Вы попытались получить доступ к ресурсу, который не был отмечен как часть проекта для компилируемой платформы.
Невозможно использовать имя функции/скрипта для переменной, используя [functions/script] Вы пытались использовать в качестве переменной, например, имя функции или имя скрипта:
string = «Hello World»
Невозможно использовать аргумент вне сценария Встроенные переменные аргументов можно использовать только внутри сценария, но вы пытались использовать их в другом месте
Нет ссылок на argument[num] , но есть ссылки argument[num] Вы используете ссылку на аргумент, которого не существует, но который может быть связан с другим аргументом.
Неправильное количество аргументов для аксессора Вы указали неправильное количество аргументов при использовании аксессора
Неправильный тип аргументов для (одного из перечисленных ниже):
/, div, mod, +, -, &&, ||, &, |, ^, >
Вы указали неверный тип аргумента для вычисляемого выражения
Использование неинициализированной переменной [var] Вы попытались использовать именованную переменную до того, как она была инициализирована
Переменная [var] доступна только для чтения Вы пытались изменить именованную переменную, когда она не может быть изменена
Невозможно найти переменную с именем [var] Именованная переменная не может быть найдена в текущей компиляции
Некорректная ссылка на переменную Вы попытались сослаться на переменную неправильным способом
Попытка установить переменную [var], доступную только для чтения. Вы пытались установить переменную, которая доступна только для чтения
Невозможно повторно объявить встроенную переменную Вы пытались объявить локальную переменную, используя то же имя, что и одна из встроенных переменных
Невозможно использовать имя ресурса для переменной Вы можете использовать то же имя ресурса из дерева ресурсов в качестве локальной переменной
[Переменная] доступно только для чтения Вы пытались использовать переменную, которая была помечена как доступная только для чтения
Невозможно установить константу [константа] на значение Вы пытались установить константу в другое значение
Константа здесь недействительна Вы пытались использовать константу, которая не является действительной для выполняемого кода
Невозможно присвоить [var] — это константа Вы попытались присвоить новое значение именованной константе
Индекс массива не должен быть отрицательным Вы пытались получить доступ, создать или установить значение массива, используя отрицательный индекс массива
Некорректный условный оператор Вы использовали ошибочный условный (троичный) оператор или оператор if, а не формат:
[condition] ? [expression1] : [expression2];
Если требует утверждения then Вы написали оператор if и выражение для оценки, но не указали часть then для выполнения
неверно сформированное заявление о назначении В коде вы неправильно используете оператор присваивания
Деформированный
оператор if / repeat / while / do / for / with / switch / break / continue / exit
Структура приведенного утверждения неверна.
Неправильно сформированное сообщение post inc или dec Вы пытались использовать [var]++ или [var]— незаконным способом
Неправильно сформированный оператор pre inc или dec Вы пытались использовать ++[var] или —[var] незаконным способом
Некорректная глобальная gml_pragma Вы создали неправильную глобальную строку при использовании gml_pragma
Некорректная форма PNGCrush gml_pragma Вы создали неправильную строковую команду для PNGCrush при использовании gml_pragma
Некорректная форма Texgroup.Scale gml_pragma Вы создали неправильную глобальную строку при использовании gml_pragma
Значение по умолчанию нельзя использовать несколько раз в переключателе В операторе switch вы определили значение по умолчанию: более одного раза
Несоответствие типа выражения клаузулы (все выражения клаузулы должны быть одного типа) В вашем переключателе вы проверяете два различных типа регистра констант, например, строка в одном случае и целое число в другом.
Аргументация по делу должна быть постоянной Вы пытались использовать значение, которое не оценивается как константа, в одном из случаев переключения
Утверждение в переключателе ДОЛЖНО появляться после регистра или значения по умолчанию Вы добавили оператор в переключатель вне вызова case: или default: .
Найдено дублирующее заявление по делу / оригинал здесь Вы использовали одну и ту же константу case в двух разных местах внутри switch (обратите внимание, что комментарий «original here» будет находиться на другой строке и его можно щелкнуть, чтобы показать исходный случай)
Нет возвращаемого значения из выражения (есть ли у выражения возвращаемое значение?) Вы пытались присвоить переменной возвращаемое значение из выражения, когда выражение ничего не возвращает.
Ожидание выражения после ‘.’ Вы ошибочно использовали обозначение точки » . » и не добавили выражение после слов.
Неожиданный символ [символ] в выражении В выражении используется символ, который не входит в принятый набор символов выражения — соответствующий символ будет показан
Неизвестно Предварительный оператор Вы пытались использовать символ в качестве предоператора, когда этот символ не разрешен, например, **[var] или >>[var] — допустимы только ++ и — .
Неизвестный оператор почтовой связи Вы пытались использовать символ в качестве постоператора, когда этот символ не разрешен, например, [var]** или [var]>> — допустимы только ++ и — .
Неизвестная прагма [gml_pragma string] Вы использовали строку прагмы, которая неизвестна компилятору
Неизвестный унарный оператор Вы пытались использовать неизвестный символ в качестве унарного оператора
Неизвестный двоичный оператор Вы пытались использовать неизвестный символ в качестве двоичного оператора
Неизвестный оператор [оператор] Вы попытались использовать неизвестный символ в качестве оператора (символ будет показан в ошибке)
Перерыв, используемый без контекста Вы не использовали разрыв внутри переключателя, петли или любой другой разрешенной структуры
Продолжение используется без контекста Вы не использовали continue в правильном контексте
продолжение заявления не допускается на данном этапе Вы использовали continue в той части вашего кода, где это запрещено
перечисление num недействительно Номер перечисления недействителен для данного перечисления
неправильное перечисление Вы неправильно создали перечисление
enum [перечисление] уже определено Вы попытались определить перечисление, используя то же имя, что и другое, ранее определенное.
неправильное заполнение перечисления Перечисление имеет недопустимую запись
выражение перечисления должно быть целочисленной константой Запись перечисления не оценивается как целочисленная константа
Ссылка на перечисление [ключ] не существует в [перечислении] Вы попытались сослаться на запись перечисления, используя ключ, который ранее не был определен для этого перечисления