我开始使用电子书学习C ++并且被几行打断,我认为这有点过时了。无论如何,我想要做的是使用预处理器指令作为函数参数,它不起作用:
#define TitleLabelId 1000;
//....
hTitleText = CreateWindow(L"STATIC",
L"Test Text",
WS_VISIBLE | WS_CHILD,
0, 0,
300, 20,
hWnd,
(HMENU)TitleLabelId,
hInst,
NULL);
这给了我一个编译错误,这会给我一个正确的结果:
HMENU hm = (HMENU)TitleLabelId;
hTitleText = CreateWindow(L"STATIC",
L"Test Text",
WS_VISIBLE | WS_CHILD,
0, 0,
300, 20,
hWnd,
(HMENU)TitleLabelId,
hInst,
NULL);
我试图外包标签文本,但不幸的是它没有使用以下指令:
#define TitleText L"Blob Color War";
是否有我监督的语法?提前谢谢!
答案 0 :(得分:4)
之后使用#define
而不使用分号:
#define TitleLabelId 1000;
// ^
#define TitleLabelId 1000
否则它将在prprocessing期间展开,但在参数列表中是错误的。
答案 1 :(得分:4)
#define TitleText L"Blob Color War";
我认为;
正在制造一些问题。删除它会解决它。
#define TitleText L"Blob Color War"