加上#include<windows.h>后出现的奇葩错误

来源:互联网 发布:烤漆哑铃知乎 编辑:程序博客网 时间:2024/06/06 03:24

转载地址:http://blog.csdn.net/stpeace/article/details/41733899

       先来看一个没错的程序:

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #include <iostream>  
  2. using namespace std;  
  3.   
  4. struct Rectangle   
  5. {  
  6.     int width;  
  7.     int height;  
  8. };  
  9.   
  10. int main()  
  11. {  
  12.     Rectangle rect;  
  13.     return 0;  
  14. }  

      加上#include<windows.h>就有错:

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #include <windows.h>  
  2. #include <iostream>  
  3. using namespace std;  
  4.   
  5.   
  6. struct Rectangle   
  7. {  
  8.     int width;  
  9.     int height;  
  10. };  
  11.   
  12. int main()  
  13. {  
  14.     Rectangle rect;  
  15.     return 0;  
  16. }  
       原来的程序很大, 我通过不断缩减的方法才定位到, 是Rectangle出了问题, 原因是Windows早已有了。 可以改为正确程序如下:

[cpp] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #include <windows.h>  
  2. #include <iostream>  
  3. using namespace std;  
  4.   
  5.   
  6. struct xxxRectangle   
  7. {  
  8.     int width;  
  9.     int height;  
  10. };  
  11.   
  12. int main()  
  13. {  
  14.     xxxRectangle rect;  
  15.     return 0;  
  16. }  

0 0