LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

понял. всё дело в точке с запятой:

вот тут —

if (...)
  macro;
else
  ...

да.. ну и хрень же этот ваш Си :)

следующий код являетс НЕ валидным:

if (...)
  {...}; // error: точка с запятой!!
else
  ...
а следующий является ВАлидным:
if (...)
  do{...}while(0); // noerror: точка с запятой -- не помеха!
else
  ...

Исправление user_id_68054, :

понял. всё дело в точке с запятой:

вот тут —

if (...)
  macro;
else
  ...

да.. ну и хрень эта ваш Си :)

следующий код являетс НЕ валидным:

if (...)
  {...}; // error: точка с запятой!!
else
  ...
а следующий является ВАлидным:
if (...)
  do{...}while(0); // noerror: точка с запятой -- не помеха!
else
  ...

Исправление user_id_68054, :

понял. всё дело в точке с запятой:

вот тут —

if (...)
  macro;
else
  ...

да.. ну и хрень эта ваш Си :)

следующий код являетс НЕ валидным (из-за точки с запятой)

if (...)
  {...};
else
  ...
а следующий является ВАлидным (не смотря на наличие точки с запятой)
if (...)
  do{...}while(0);
else
  ...

Исходная версия user_id_68054, :

понял. всё дело в точке с запятой:

вот тут —

if (...)
  macro;
else
  ...

да.. ну и хрень эта ваш Си :)