要寫C++就不要用C的東西該用nullptr不要用NULL, 指標轉型reinterpret_cast最後回答你的問題本身 因為你的寫法有讀取空標的風險所以會跳warning那行if要拆成巢狀兩層ifif(Ptr != nullptr){if((*(uint32_t *)Ptr) == 0){指標沒指著東西本來就不該讀取 只是NULL幫你做了一層保險 不代表這個操作是正確的
https://msdn.microsoft.com/en-us/library/2ayc37ac連MSDN都這樣寫......你確定warning是那一行?你照MSDN的code打會出現warning嗎?不會是因為編譯時期決定的關係吧 因為你的程式不用run-time就可以知道結果 所以編譯時期就看到了