我在使用std copy函数时收到了警告。
我有一个我声明的byte
数组。
byte *tstArray = new byte[length];
然后我有另外一些声明并使用一些十六进制值初始化的字节数组,我想根据一些初始用户输入来使用它们。
我有一系列if语句,基本上用于解析原始输入,根据某些字符串,选择要使用的字节数组,并在此过程中将结果复制到原始tstArray中。
例如:
if(substr1 == "15")
{
std::cout<<"Using byte array rated 15"<<std::endl;
std::copy(ratedArray15,ratedArray15+length,tstArray);
}
The warning i get is warning C4996: std::copy : Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct.
一个可能的解决方案是使用-D_SCL_SECURE_NO_WARNINGS来禁用此警告,我正在研究这个。
但是,我不确定这是否意味着我的代码真的不安全,我实际上需要进行一些检查?