簡體   English   中英

編譯器錯誤與win32 COORD結構?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM