Цитата:
Сообщение от
SRF
А вас не смущает условие !fieldId &&, ну т.е. вторая часть которая isFieldSet будет выполнена только если fieldId =0

Хотя скорее всего, если fieldId будет 0, то будет трассировка стека

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