Синтаксическая ошибка в Ax - PullRequest
3 голосов
/ 04 января 2010
 static void Job(Args _args) 
 { 
    int number=10;
    do
     {
        print (strfmt("current number = %1", number));
        number --;
     }while (number != 0)  
  }

Это задание только для тестирования do-while в X ++, и я получаю «синтаксическую ошибку» в последнем '}'

Я новичок в Dynamics AX и X ++, так что я не знаю, есть ли что-то, чего мне не хватает, но я бы сказал, что это должно работать.

----- [EDIT] -----
вторая часть вопроса была перемещена в отдельный вопрос

1 Ответ

5 голосов
/ 04 января 2010

Как и во многих языках стиля C, цикл DO WHILE требует точки с запятой в конце теста while:

http://msdn.microsoft.com/en-us/library/aa842320.aspx

СИНТАКСИС

сделать
{заявление}
в то время как
(выражение) ;

Фиксированный код:

static void Job(Args _args) 
{ 
  int number=10;
  do
   {
      print (strfmt("current number = %1", number));
      number --;
   }while (number != 0); <-- semicolon required here
}

Причина, по которой ошибка не возникает до последней скобки, заключается в том, что компилятор не понимает, что чего-то не хватает до этой точки в коде.

...