Точка с запятой действительно необходима после объявлений в x ++?

Как сказано в книге Программирование Microsoft Dynamics AX 2009 года: Начиная необходимо поместить точки с запятой после объявлений в x ++:

Дополнительная точка с запятой после объявления переменной обязательна, пока первая строка кода не является ключевым словом. Точка с запятой говорит компилятору, что объявления переменной закончились. Вы не можете объявить новые переменные после этой точки с запятой.

(скопированный непосредственно с книги, неизменной, в случае необходимости, я удалю его),

Однако, когда я удаляю точку с запятой и выполняю задание, нет абсолютно никакой ошибки или проблемы:

static void Job1(Args _args)
{
    str string1 = "STACKOVERFLOW";
    ;
    print string1;
    pause;
}

работы так же, как

static void Job2(Args _args)
{
     str string1 = "STACKOVERFLOW";

     print string1;
     pause;
}

Это действительно необходимо? Я должен привыкнуть к использованию его?

10
задан Jonathan Leffler 24 March 2019 в 18:53
поделиться

2 ответа

Это объясняется довольно элегантно здесь .

Ключевая цитата [emphasis mine]:

"Причина, по которой вам нужна эта дополнительная точка с запятой, заключается в том, что компилятор не всегда видит, где заканчиваются декларации переменных . Если Вы не поможете немного, то это сделает догадку. И угадывать не очень хорошо"

Пока компилятор анализирует код, он проверяет, совпадает ли первое слово в строке с именем типа (AOT object). Если это имя типа, то компилятор рассматривает строку как объявление переменной. В этом случае имя переменной должно быть следующим.

14
ответ дан 3 December 2019 в 14:43
поделиться

Нужна точка с запятой только в том случае, если тело вашего кода не начинается с ключевого слова. В Вашем примере код начинается с print, которое является встроенным ключевым словом. Если бы вы попытались начать код с: string1+=".COM"; вы бы получили ошибку.

Dynamics AX 2009 - последняя версия AX, для которой потребуется дополнительная точка с запятой. AX 6.0 должен это исправить: mfp - два цента: Что с этой точкой с запятой?

6
ответ дан 3 December 2019 в 14:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: