Почему последняя версия else
пропущена следующим способом в VS C++? Я правильно перегрузил оператора <
, поэтому проблем там нет. Фактически, когда я беру эту ту же функцию и перекомпилирую ее в XCode, она делает то, что, как полагают, отлично, когда выполняется оператор else
. Почему это ?Пропуск инструкции else в Visual Studio C++?
void insert(Comparable & x, BinaryNode * & t)
{
if (t == nullptr)
t = new BinaryNode{ x, nullptr, nullptr };
else if (x < (t->element))
insert(x, t->left);
else if ((t->element) < x)
insert(x, t->right);
else
t->element.merge(x.getEnzymes());
}
Вы всегда можете добавить еще одно, если, так как есть только один другой сценарий. – boomoto
Нам нужно достаточно кода, чтобы воспроизвести проблему. Можете ли вы создать [SSCCE] (http://meta.stackexchange.com/questions/22754/sscce-how-to-provide-examples-for-programming-questions)? –
«Я правильно перегрузил' <'operator - вы уверены, что это правильно? Мы можем это увидеть? Более того, можно ли увидеть полный (но минимальный) тестовый пример, чтобы продемонстрировать вашу проблему? –