[英]Compiler error with win32 COORD structure?
我正在嘗試使用Win32 Console 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,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 pt; pt.x = 0; pt.y = 25
POINT pt; pt.x = 0; pt.y = 25
POINT pt; pt.x = 0; pt.y = 25
,它編譯得很完美。 POINT
只是另一種結構。
我在Windows 7上使用visual studio 2010,編譯器是:
Microsoft(R)32位C / C ++優化編譯器版本16.00.30319.01 for 80x86
有什么想法嗎 ?? 提前致謝。
我編譯了它,它工作正常。
但是,如果我將X或Y定義為宏,例如
#define X 2
#define Y 15
然后我得到與你完全相同的錯誤。 你有這些宏嗎?
錯誤C2059是一個解析錯誤,常量是意外的。 你可能在某個地方有一些垃圾字符,文件中較早的錯誤匹配括號或其他東西。
查看文檔 :
語法錯誤:'token'
令牌導致語法錯誤。
要確定原因,請不僅要檢查錯誤消息中列出的行,還要檢查其上方的行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.