這段代碼:爲什麼編譯器不要在這種情況下,給予警告
char buff[255];
memcpy(buff,0,255);
編譯器編譯過程中不發出任何警告,但該進程失敗分段故障 但是當我編譯如下代碼
char buff[255];
memcpy(buff,2,255);
的編譯器會發出如下警告
警告:傳遞argume 「的memcpy」的NT 2時將整數指針沒有施放[默認啓用]
爲什麼編譯器沒有給出常量0 的警告我使用GCC 4.7.2版本
也有一些編譯器標誌會給出這樣的代碼警告
你對這段代碼有何打算?因爲它幾乎看起來像你正在嘗試做一個'memset(buff,0,255)'或'memset(buff,2,255)' –
這是編寫這段代碼的人的意圖。令人驚訝的是代碼沒有失敗2年,並在我身上失敗。所以我試圖重現一個案例,我沒有得到memcpy的seg錯誤(失敗)。這導致了我發佈的問題 – JRK