0
我正在寫一個應用程序的帽子將使用大多數的形式相同形式的默認設置,所以我決定宏WNDCLASSEX並在需要時調用它:的#define - 預期和表達C++
#pragma once
#ifndef WNDCLASSEX_H
#define WNDCLASSEX_H
#include <windows.h>
//MAIN FORM/LOADER WNDCLASSEX
#define MainLoaderWnd(Size, WindowsProcess, hInstance, Title)\
{\
return new WNDCLASSEX{\
size,\
CS_DBLCLKS,\
WindowsProcess,\
0,\
0,\
hInstance,\
LoadIcon(NULL, IDI_APPLICATION),\
LoadCursor(NULL, IDC_ARROW),\
(HBRUSH)(COLOR_WINDOW),\
NULL,\
L(Title),\
LoadIcon(NULL, IDI_APPLICATION)\
};\
}
#endif
然而,當我添加到文件「loader.cpp」,我得到如下:
WNDCLASSEX wcex = MainLoaderWnd(sizeof(WNDCLASSEX), WndProc, hInstance, L"Your Text Here");
//Intellisense error: Expression Expected
想法/不明白爲什麼他的錯誤發生。 :/
你試過編制?你有沒有試過得到預處理器的結果並閱讀代碼的樣子?宏(其中之一)的問題是,你真的不知道編譯器正在處理什麼...... –
我嘗試內聯函數,但它說「沒有適合的構造函數存在將WNDCLASSEX *轉換爲tagWNDClASSEXW」 –