Devise NoMethodError в Devise :: Registrations # создать для электронной почты

Стандарт немного неясен в этом, но [alg.sorting] дает два намека на то, почему этот отказ от компиляции может быть стандартно-совместимым поведением. Первый - [alg.sorting]/2:

... Предполагается, что comp не будет применять какую-либо непостоянную функцию через разыменованный итератор.

Далее нам сообщают, что когда компаратор не поставляется [alg.sorting]/3:

... comp(*i, *j) != false по умолчанию *i < *j != false

, поскольку в ваш случай, comp по умолчанию *i < *j != false, и это применит неконстантную функцию к разыменованным итераторам. Это делает недействительным предположение, данное в [alg.sorting]/2, и поэтому ваш код имеет неопределенное поведение. Это законно для кода с неопределенным поведением, чтобы не компилировать.

0
задан Math is Hard 25 February 2015 в 00:09
поделиться