LINUX.ORG.RU

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

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

shall be zero-initialized

okay

У нас Do инициализирована нулем, и может кроме нуля принимать только значение &EraseAll

Тогда main логично изменить на

int main()
{
  if (Do)
    return EraseAll();
  else
    return ((void*)0)();
}

Однако в else творится очевидный адъ и израиль, поэтому вместо генерации ветки, недопустимой по стандарту, компилятор от нее избавился.

Вывод - если программист мудак, нечего пенять на компилятор

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

shall be zero-initialized

okay

У нас Do инициализирована нулем, и может кроме нуля принимать только значение &EraseAll

Тогда main логично изменить на

int main()
{
  if (Do)
    return Do();
  else
    return ((void*)0)();
}

Однако в else творится очевидный адъ и израиль, поэтому вместо генерации ветки, недопустимой по стандарту, компилятор от нее избавился.

Вывод - если программист мудак, нечего пенять на компилятор

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

shall be zero-initialized

okay

У нас Do инициализирована нулем, и может кроме нуля принимать только значение &EraseAll

Тогда main логично изменить на

int main()
{
  if (Do)
    return Do();
  else
    return ((void*)0)();
}

Однако в else творится очевидный адъ и израиль, поэтому вместо генерации ветки, недопустимой по стандарту, компилятор от нее избавился.

Вывод - если программист мудак, нечего пенять на кмопилятор