LINUX.ORG.RU

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

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

Можно такой вариант.

OtherFuncErrorEnum rc = other_func();

switch (rc) {

case Success: break;

case Err1:
case Err2:
case Err3:

    return static_cast<ThisFuncErrorEnum>(rc);

}

Но много бойлерплейта и лишнего кода, да и требует высокой дисциплины со стороны разработчика.

Эта дисциплина компилятором внедряется.

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

Можно такой вариант.

OtherFuncErrorEnum rc = other_func();

switch (rc) {

case OtherFuncErrorEnum::Success: break;

case Err1:

case Err2:

case Err3:

    return static_cast<ThisFuncErrorEnum>(rc);

}

Но много бойлерплейта и лишнего кода, да и требует высокой дисциплины со стороны разработчика.

Эта дисциплина компилятором внедряется.

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

Можно такой вариант.

[code] OtherFuncErrorEnum rc = other_func(); switch (rc) { case OtherFuncErrorEnum::Success: break; case Err1: case Err2: case Err3: return static_cast(rc); } [/code]

Но много бойлерплейта и лишнего кода, да и требует высокой дисциплины со стороны разработчика.

Эта дисциплина компилятором внедряется.