Показать сообщение отдельно
Старый 10.01.2017, 15:16   #6  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от SRF Посмотреть сообщение
А вас не смущает условие !fieldId &&, ну т.е. вторая часть которая isFieldSet будет выполнена только если fieldId =0 Хотя скорее всего, если fieldId будет 0, то будет трассировка стека Т.е. выводятся в данном методе все значения в том числе и дефолтные.

ПС. Конечно скорее всего описка и должно было быть что то типа if (fieldId && ! _common.isFieldSet(fieldId)).
Если логика в том чтобы избежать неуправляемого defaulting когда вы ничего с полем не делали, а enum принимает значение 0 и прочее.
Если логика в том что вы должны явно в initValue() ? присвоить default значение или как-то иначе но явно.
Или присвоить - что всегда явно.
То логика есть. Поле с которым ничего явно не сделали - игнорируется.

IF ((нет поля) OR (поле не прошло defaulting или присвоение))
{
continue; // То есть игнорируй
}

То есть defaulting должен быть явным и никак иначе?