Перенос предложения: голоса +3, -2
Автор идеи:Сергей Аксенов
Сейчас (Си++11) компилятор сначала выбирает перегрузку, а уже после смотрит какие методы удалены. В итоге иногда не может выбрать из 2 методов - удаленного и и нет.
Вообще, конечно, эта идея вообще не сработает =( Просто это реальная попытка уменьшить боль от неявного приведения uint64_t к uint32_t. Особенно актуально для size_t, который отличается на x86 и x64.
Перенос предложения: голоса +3, -2 Автор идеи: Сергей Аксенов
Сейчас (Си++11) компилятор сначала выбирает перегрузку, а уже после смотрит какие методы удалены. В итоге иногда не может выбрать из 2 методов - удаленного и и нет.
Например, такой код работать не будет
Вообще, конечно, эта идея вообще не сработает =( Просто это реальная попытка уменьшить боль от неявного приведения uint64_t к uint32_t. Особенно актуально для size_t, который отличается на x86 и x64.
Подробнее здесь: https://stackoverflow.com/questions/38565358/call-ambigious-due-to-a-deleted-function https://stackoverflow.com/questions/13703186/ambiguous-overload-with-deleted-move-constructor