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
あり、構造体です。上記のエラーは、2 つの割り当て (pos.X = 0 および pox.Y = 25) に対して 2 回発生します。以下を使用すると、完全にコンパイルされます。
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 for 80x86
何かご意見は ??前もって感謝します。