Работает, как предназначено для меня.
код:
#include <iostream>
#include <string>
using namespace std;
void foo(double y)
{
int x = static_cast<int>(y);
cout << y << ' ' << x << endl;
}
int main()
{
foo(-1.37026f);
return 0;
}
выход:
-1.37026 -1
Переменная y
должна иметь другое значение. Кажется, это либо ошибка IDE, которую вы используете, либо вы используете ее неправильно;)