C++學習問題記錄

C++學習記錄:

問題一:

This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 
這是因爲高版本的VS,默認不在使用這些函數,默認認爲localtime函數不安全,從而給出警告,並要求採用loacltime_s的函數來進行替代。
避免以上問題,可以使用以下方法:
1、使用新版函數,需要對新版函數進行了解。
2、在項目->屬性_->C/C++->預處理器->預處理器定義中添加_CRT_SECURE_NO_WARNINGS。此方法較爲便捷。
3、在頂部添加宏,#define _CRT_SECURE_NO_WARNINGS
4、#pragma warning(disable:錯誤碼)可以忽略這個警告(只可以消除警告,不可以解決錯誤)

注:新版本函數僅爲高版本VS所有,非標準。

問題二:

C4996 'std::copy,use -D_SCL_SECURE_NO_WARNINGS
使用以下方法
1、在工程屬性—>C/C++—>命令行—>其他選項 中添加: -D_SCL_SECURE_NO_WARNINGS

問題三

在頭文件裏定義變量,被好幾個資源文件include,那麼每個資源文件都含有這個定義,在鏈接的時候編譯器會發現多個 編譯單元中含有相同定義符號,直接鏈接報錯
解決方法:
一、頭文件裏可以有定義,不過要加inline,或用類,模板。boost裏一堆header only library
二、__declspec(selectany)


作者:喵星老大
來源:CSDN
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章