1. 程式人生 > >VS:error C4703-使用了可能未初始化的本地指標變數“XXX”

VS:error C4703-使用了可能未初始化的本地指標變數“XXX”

1. 問題

在用VS2013中編譯一個開源庫是遇到以下錯誤:

error C4703: 使用了可能未初始化的本地指標變數“xxx”

2. 分析

VS2013建立專案,會預設勾選安全開發生命週期(SDL)檢查,

其功能是更好的監管開發者的程式碼安全,如果勾選這一項,那麼編譯時將嚴格按照SDL的規則編譯程式碼,

導致,會有一些以前常用的函式無法通過編譯,比如在VS2010中的scanf是warning那麼在VS2013中就是error了。

3. 解決方法

關閉SDL檢查:

專案屬性->配置屬性->C/C++->SDL檢查,選測是或者否。

此時選擇”否”,則上面的那個錯誤就不會出現了。

或者將指標變數初始化為nullptr,也可以解決。

參考文章

1. https://blog.csdn.net/sinat_20265495/article/details/62056034