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