c++的一些报错及修复

做作业的时候遇到的c++错误报错及其解决方法

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

我的错误是出现在没有把

1
using namespace std;

放在用STL之前。
举个例子

1
2
3
4
5
6
//错误
#include <string>
const int MAXNUM = 10;
string str[MAXNUM];
using namespace std;

1
2
3
4
5
//正确
#include <string>
using namespace std;
const int MAXNUM = 10;
string str[MAXNUM];

LNK2005:XXXXX在XX中已经定义

我的错误是在.h文件中定义了变量。示例如下

1
2
3
//错误示范
//在a.h文件中定义了这么一个常量
const int NUMOFYEAR = 0;
1
2
3
4
5
6
7
//正确写法
//在a.h中只定义类,在a.cpp文件中定义常量
//a.h
只定义类不定义变量
//a.cpp
const int NUMOFYEAR = 0;

E0304 没有与参数列表匹配的 重载函数 “strcpy_s” 实例

换成用strcpy_s,但是直接改有问题,因为函数定义不一样。所以要修改程序,示例如下。

1
2
3
4
5
//正确写法
char a[]="hello"
int n=strlen(a);
char* b=new char[a];
strcpy_s(b,n,a);

参考

strcpy, strcpy_s


c++的一些报错及修复
https://www.yikakia.com/c++的一些报错及修复/
作者
Yika
发布于
2020年4月5日
许可协议