AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.11.2001, 17:47   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Ошибка компилятора (синтаксического анализатора)

Иногда компилятор ругается без причины, например:
X++:
void new (Object _object)
{
   object = _object;
}
Чтобы избавиться от этого, вставьте пустой оператор (точку с запятой):
X++:
void new (Object _object)
{
;

   object = _object;
}
Роман Кошелев
Старый 01.04.2007, 15:08   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Maxim Gorbunov Посмотреть сообщение
Иногда компилятор ругается без причины, например
Дело в том, что компилятор допускает одинаковые имена для типов и переменных.
Если переменная имеет точно такое же название, что и тип, то компилятор:
1. думает, что продолжается блок определения переменных,
2. встречает после имени типа недопустимую конструкцию
3. ругается.

Так, в приведенном выше примере, переменная называется object.
Но в системе есть тип object.
Поэтому компилятор "думает", что в первой строке идет определение переменной типа Object, встречает знак = вместо названия переменной и застывает в ступоре.

Точка с запятой дает понять компилятору, что блок определения переменных кончился. После точки с запятой компилятор ожидает lvalue и правильно разбирается с одинаковыми именами переменных и типов.
__________________
полезное на axForum, github, vk, coub.
Теги
x++, компилятор, объявление переменной

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка в формате числа. 36AC DAX: Программирование 7 19.10.2006 10:04
Ошибка: "Ошибка в суммы в валюте XXX. Необходимо округлить до '0.00'. Std DAX: Функционал 3 18.07.2006 11:22
Ошибка при обработке С-Ф Sergo DAX: Программирование 7 20.01.2006 11:56
Ошибка при сохранении поставщика Filip DAX: Функционал 19 24.02.2004 08:32
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:43.