目前共有2篇帖子。
在使用C語言開發Windows程序時,在很多地方NULL需要進行強制類型轉換
1樓 巨大八爪鱼 2016-5-23 22:23
這是因為在Windows.h頭文件中定義NULL宏時會進行語言判斷。
如果當前語言是C語言,就把NULL定義為(void *)0,
如果是C++的話就直接定義為0
2樓 巨大八爪鱼 2016-5-23 22:25
例如在定義窗口類的時候,C語言裡面必須寫成:
wcex.style = (UINT)NULL;
但C++裡面可以直接寫:
wcex.style = NULL;

CreateWindow函數也是一樣。
C:
hwndCombo = CreateWindow(WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 10, 160, 200, (int)NULL, hWnd, NULL, hInst, NULL);
C++:
hwndCombo = CreateWindow(WC_COMBOBOX, NULL, WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST, 10, 160, 200, NULL, hWnd, NULL, hInst, NULL);

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2025 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。