如何克服"unsafe"错误?

How can i overcome "unsafe" error?

本文关键字:unsafe 错误 克服 何克服      更新时间:2023-10-16

我正在做一个基本上是控制停车场的项目。在我的代码的某些点,我使用函数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出错的"特性"。

您的问题是strcpy是一个'不安全'的功能,所以您需要在Visual Studio中禁用unsafe warning,因此请遵循以下步骤。