vs2017 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

2019-03-15 22:53发布

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答

VS2013比VS2010更严格了,原先scanf只是警告,现在是错误

所以用VS2013编写纯C代码比较麻烦,当然也可以设置。


右击工程 - 属性 - 配置属性 - C/C++  - 命令行 

命令行增加 /D _CRT_SECURE_NO_WARNINGS

这样就不用改代码了




Test1.h

[cpp] view plain copy
  1. #ifndef Test1_H  
  2. #define Test1_H  
  3. //#include "Test2.h" //用下面的方式替代  
  4. class Test2;//注意:只是告诉编译器,需要这个类,其他功能结构等都没  
  5.   
  6. class Test1  
  7. {  
  8. public:  
  9.     Test2* test2;  
  10.     void Test1::className(Test2* test2);  
  11.     void refMe();  
  12. };  
  13. #endif;  

 

Test1.cpp

[cpp] view plain copy
  1. #include "StdAfx.h"  
  2. #include "Test1.h"  
  3. #include <iostream>  
  4.   
  5. #include "Test2.h" //注意:这里才是真正的包含  
  6.   
  7. void Test1::className(Test2* test2)  
  8. {  
  9.     this->test2=test2;  
  10.     std::cout<<"Test1  ";  
  11. }  
  12.   
  13. void Test1::refMe()  
  14. {  
  15.     std::cout<<"refMe Test1"<<std::endl;  
  16. }  


暖微风
2楼-- · 2019-03-15 23:24

在VS2017的C++中,函数不支持默认的返回值,也就是你在定义函数时,必须有前缀

test() ;//非法,没有返回值

你必须用

int test() ;

若无返回值的,你必须用

void test();


一周热门 更多>