我怎样才能克服 "unsafe" 错误?
How can i overcome "unsafe" error?
我正在做一个基本上控制停车场的项目。在我的代码的某些地方,我使用了函数 strcpy()
,但我收到一条错误消息,指出此函数可能不安全。
这是我使用的代码的一部分 strcpy()
:
Automovel::Automovel(char * matr, Data ent, double comp) {
//CONSTRUTOR POR ENUMERAÇAO:
//RECEBE A MATRICULA, A DATA DE ENTRADA E O COMPRIMENTO DO CARRO
//POSIÇAO E VALOR PAGO FICA INDEFINIDO
matricula = new char[11];
entry = new Data(ent);
strcpy(matricula, matr);
comprimento = comp;
pos[0] = -1; pos[1] = -1;
pago = -1;
}
我需要使用该功能,请问如何解决这个错误?
你没说,但我假设你使用的是 Visual Studio;这就是我遇到错误的地方。
要么硬着头皮用strcpy_s
等,要么这样:
#pragma warning(disable : 4996)
这将禁用使 strcpy
出错的 "feature"。
您的问题是 strcpy
是一个 'unsafe' 函数,因此您需要禁用 Visual Studio 中的 unsafe warning
,因此请遵循 these steps.
我正在做一个基本上控制停车场的项目。在我的代码的某些地方,我使用了函数 strcpy()
,但我收到一条错误消息,指出此函数可能不安全。
这是我使用的代码的一部分 strcpy()
:
Automovel::Automovel(char * matr, Data ent, double comp) {
//CONSTRUTOR POR ENUMERAÇAO:
//RECEBE A MATRICULA, A DATA DE ENTRADA E O COMPRIMENTO DO CARRO
//POSIÇAO E VALOR PAGO FICA INDEFINIDO
matricula = new char[11];
entry = new Data(ent);
strcpy(matricula, matr);
comprimento = comp;
pos[0] = -1; pos[1] = -1;
pago = -1;
}
我需要使用该功能,请问如何解决这个错误?
你没说,但我假设你使用的是 Visual Studio;这就是我遇到错误的地方。
要么硬着头皮用strcpy_s
等,要么这样:
#pragma warning(disable : 4996)
这将禁用使 strcpy
出错的 "feature"。
您的问题是 strcpy
是一个 'unsafe' 函数,因此您需要禁用 Visual Studio 中的 unsafe warning
,因此请遵循 these steps.