У меня этот класс
struct foo
{
explicit foo(const std::uint32_t& x, const std::uint32_t& y);
};
и метод
int main()
{
std::int32_t x = -1;
std::int32_t y = -1;
foo f(x, y);
}
В моем компиляторе (MSVC2012) он компилируется и запускается со значениями x
и y
, обернутыми в беззнаковые типы. Я не ожидал этого, но ожидал ошибку компиляции из-за несоответствующих типов.
Что мне не хватает?