Question:
大家好!
C++ 在程序中进行类型转换时,编译提示告警:DWORD 与 结构指针转换时 提示
警告8 warning C4312: “reinterpret_cast”: 从“DWORD”转换到更大的“HISDATAREC *”。 HISDATAREC是结构
使用localtime告警:
time_t ttNow;
ttNow = time(NULL); tm *pTime = localtime(&ttNow);
提示:
警告 14 warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
请专家指教,怎样避免这种警告?
Answer:
1, 在项目设置的C/C++选项中,把检查64位移植性去掉。
2, 方案a:使用_localtime_s, _localtime32_s, _localtime64_s这3个函数代替localtime
方案b:去掉C4996警告,比如按照提示所说
#define _CRT_SECURE_NO_WARNINGS 1
或者直接#pragma warning( disable : 4996 )