Компилятор предупреждает вас не только о том, что вы можете выйти за пределы диапазона, но и о том, что вы можете потерять информацию (ему нужно как-то округлить число, и он боится сделать это самостоятельно).
Используйте floor()
, чтобы сообщить ему, что вы знаете, что делаете:
int newValue = floor(control->Value);
Или вы можете явным образом привести приведение к компилятору, чтобы ничего неявного происходило, и вы знаете, что делаете:
int newValue = (int)(float)(control->Value);