C++ 坐标错误

标签 c++ visual-studio winapi

我目前正在尝试创建一个俄罗斯方 block 游戏,当我调用它时:

void PrintChar(int x, int y, char ch, Colors color) {
    COORD c = { y,x };

    FillConsoleOutputCharacterW(GameData::handle, ch, 1, c, NULL);
    FillConsoleOutputAttribute(GameData::handle, color, 1, c, NULL);
}

出现此警告:

C4838 - conversion from 'int' to 'SHORT' requires a narrowing conversion.

谁能解释一下这里发生的事情,我们将不胜感激。

最佳答案

你应该使用显式类型转换

COORD c = { static_cast<short>(x), static_cast<short>(y) };

关于C++ 坐标错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39652107/

相关文章:

c++ - 设计文件上具体怎么弄?

C++ 线性代数库 Armadillo : how to use eig_pair to get the same result as eig function in Matlab?

c++ - 关于direct3d关于D3DXCreateTextureFromFileEx的方法

c++ - 随机存取与 SSE 对齐的内存

oracle - 将密码包含在 {} 中时,SQLDriverConnect 有时会失败

c++ - 为什么 CFileDialog::GetNextPathName 在文件路径很长时不起作用?

database - 在代码中查找未使用的存储过程?

c - 如果必须终止控制台,如何查看 Visual Studio 的输出?

visual-studio - 如何将NHibernate XML模式添加到Visual Studio?

c++ - WinAPI/C++ 中的光照事件