我目前正在尝试创建一个俄罗斯方 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/