我正在尝试使用 Win32 控制台 API 在 Windows 中实现控制台应用程序的进度条。我的问题是编译器给出了错误,error C2059: syntax error : 'constant'
. 相关代码如下。
void updateBar(PBAR * pbr, float ratio){
COORD pos;
pos.X = 0;
pos.Y = 25;
SetConsoleCursorPosition(hConOut, pos);
}
COORD
是用于表示坐标对的 Win32 结构。hConOut
是一个全局变量,PBAR
是一个结构。对于两个分配(pos.X = 0 an pox.Y = 25),上述错误给出了两次。如果我使用以下内容,它将完美编译。
void updateBar(PBAR * pbr, float ratio){
COORD pos = {0, 25};
SetConsoleCursorPosition(hConOut, pos);
}
我真的无法理解这其中的原因。我的意思是这只是对结构成员的分配,对吗??如果我做类似的事情POINT pt; pt.x = 0; pt.y = 25
,它会完美编译。POINT
只是另一种结构。
我在 Windows 7 上使用 Visual Studio 2010,编译器是:
Microsoft (R) 32 位 C/C++ 优化编译器版本 16.00.30319.01 用于 80x86
有什么想法吗 ??提前致谢。