"error C2036: 'const HANDLE': サイズが不明です" に関する原因と対処

このコンパイルエラーの原因と対処に関して説明します。

スポンサード リンク

Microsoft Visual C++にて以下のソースでコンパイルエラーが発生します:

コンパイルエラーメッセージ:
error C2036: 'const HANDLE': サイズが不明です。

ソース(バグ有り):

#include <windows.h>
#include <iostream>

int main()
{
const HANDLE hCommandPrompt = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_FONT_INFOEX font_size = { sizeof font_size};
font_size.dwFontSize.X = 1;
font_size.dwFontSize.Y = 13;
SetCurrentConsoleFontEx(hCommandPrompt + 0, 0,&font_size);
std::cout << "フォントサイズを変更しました。" << std::endl;
return 0; }


原因:
演算を行おうとしましたがサイズが不明です。

この例では hCommandPrompt + 0 の部分でサイズが不明です。

対処:
HANDLE に対する演算に関してサイズの指定が必要です。


ソース(修正済み):

#include <windows.h>
#include <iostream>

int main()
{
const HANDLE hCommandPrompt = GetStdHandle(STD_OUTPUT_HANDLE);
CONSOLE_FONT_INFOEX font_size = { sizeof font_size};
font_size.dwFontSize.X = 1;
font_size.dwFontSize.Y = 13;
SetCurrentConsoleFontEx(hCommandPrompt , 0, &font_size);
std::cout << "フォントサイズを変更しました。" << std::endl;
return 0; }

スポンサード リンク



[コンパイルエラーコード、メッセージに戻る]