天天看點

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

版權聲明:本文為部落客原創文章,轉載請附上博文連結!

繼續閱讀