Почему MSVC выбирает тип long для типа -2147483648?
Мой фрагмент:
auto i = -2147483648;
int j = 3;
std::swap(i, j); // Compile error about mismatched types here.
Компилятор утверждает, что литералi
этоlong long
, Это почему? -2147483648 вписывается вint
на MSVC x64.
Мой компилятор - MSVC, цель - 64 бита.