История изменений
Исправление 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 творится очевидный адъ и израиль, поэтому вместо генерации ветки, недопустимой по стандарту, компилятор от нее избавился.
Вывод - если программист мудак, нечего пенять на кмопилятор