If the mode has both trunc and app set, the opening operation fails. It also fails if either is set but out is not, or if both app and in are set.
sqrt(vx*vx+vy*vy)
(если оно не 0) и сдвигайте спрайт на vx, vy.vx*vx+vy*vy
может быть только 0,1 или 2. Заведите константный массив kScaleCoef[3] = {1, 1, sqrt(2)}
и потом делайте Sprite.Move(speed/kScaleCoef[vx*vx+vy*vy]*vx, speed/kScaleCoef[vx*vx+vy*vy]*vy);
std::vector<int> MakeArray();
void Print(const std::vector<int> array);
int* MakeArray(int *len);
void Print(int *array, int len);
size
и потом проходитесь циклом до size по обеим строкам. Но ведь более короткой строки там просто нет - вы обращаетесь к не вашей памяти.