  | 
      
        
          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);
  
       |