2016-03-19 4 views
1

最近、私はゲームを作りたいので、最近私はC++を学んでいます。だから、私がやったことは、私はC++ウィンドウを作ることで始めましたが、私が修正できない問題が出てきました。 wc.lpszClassName = L "ZakariyaTV's Class"という行にあります。私は等号の下に赤い線ができます。私はそれを把握しようと多くの時間を過ごしたが、私は傾ける。あなたがそれを修正する方法を知っていれば、本当に感謝します。ありがとうございました。ここで 私のC++ウィンドウでエラーが出る

が私のコードです:新しいプロジェクトを作成するときにデフォルトのために設定し

#include<Windows.h> 

HWND windowHandle; 

LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) 
{ 
    switch (msg) 
    { 
    case WM_CLOSE: 
     DestroyWindow(hwnd); 
     break; 
    case WM_DESTROY: 
     PostQuitMessage(0); 
     break; 
    default: 
     return DefWindowProc(hwnd, msg, wParam, lParam); 
    } 
} 

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE preInstance, PSTR cmdLine, int showCmd) 
{ 
    // Step 1 

    WNDCLASSEX wc; 

    wc.cbSize = sizeof(WNDCLASSEX); 
    wc.cbClsExtra = 0; 
    wc.cbWndExtra = 0; 
    wc.hIconSm = 0; 

    wc.hInstance = hInstance; 
    wc.lpfnWndProc = WndProc; 
    wc.style = CS_HREDRAW | CS_VREDRAW; 
    wc.lpszClassName = L"ZakariyaTV's Class"; 
    wc.lpszMenuName = 0; 
    wc.hCursor = LoadCursor(0, IDC_ARROW); 
    wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); 

    // Step 2 
    RegisterClassEx(&wc); 

    // Step 3 
    windowHandle = CreateWindowEx(WS_EX_ACCEPTFILES, L"ZakariyaTV's Class", L"Game!", 
     WS_OVERLAPPEDWINDOW | WS_VISIBLE, 100, 100, 800, 600, 0, 0, hInstance, 0); 

    // Step 4 

    if (windowHandle == 0) 
     MessageBoxA(0, "Create window failed", "Error Message", 0); 

    // Step 5 

    ShowWindow(windowHandle, showCmd); 

    // Step 6 

    UpdateWindow(windowHandle); 

    MSG msg; 

    SecureZeroMemory(&msg, sizeof(MSG)); 
    int returnValue = 0; 

    while ((returnValue = GetMessage(&msg, 0, 0, 0)) != 0) 
    { 
     if (returnValue == -1) 
     { 
      MessageBoxA(windowHandle, "GetMessage Failed!", "Error Message", 0); 
      break; 
     } 

     TranslateMessage(&msg); 
     DispatchMessage(&msg); 


    } 
    return (int)msg.wParam; 
} 
+1

IDEで下線を引いていいのですが、コードをコンパイルしようとすると、この行の*エラーメッセージ*が生成されます。また、コード例を適切にフォーマットしてください。 –

+0

私の推測ですか?あなたは 'UNICODE'セットでビルドしていません。 –

+0

はこれをこう言っています:https://gyazo.com/071258b37abe17a3c5e996c9d163846b – ZOulhadj

答えて

0

のVisual Studio 2015を使用マルチバイト文字が、LでL「ZakariyaTVのクラスは」その文字列をコンパイラに伝えていますプロジェクトの文字セットを変更する必要があります:VS 2015でプロジェクトを右クリックしてから、「プロジェクトのデフォルト」で「プロパティ」 - >「一般」 - >「文字セット」を選択し、最後に前の「マルチバイト文字セットを使用」を変更します。 「Unicode文字セットを使用する」。

+0

新しいプロジェクトは、デフォルトでVS 2015でUnicodeで作成されます –

+0

私はちょうどありがとうございます! – ZOulhadj

+0

@Zakariyaチェックボックス –

関連する問題