我有SAL批註和新操作員重載的問題。我想提供新的運算符,它不會拋出異常,但在出錯時返回nullptr。我已經寫:SAL批註和新操作員重載
_Check_return_ _Ret_maybenull_ _Success_(return != nullptr) void* operator new(_In_ size_t size)
{
return malloc(size);
}
不幸的是VS2012看到的<新>頭是不同的,後建設 - >運行代碼分析給了我很多錯誤的認爲聲明是不兼容的提供了新的聲明。此外,它選擇在<新>中提供的聲明,其指示新的永不返回空值。我試圖刪除<新的>包括但它沒有幫助(它包括在不同的標題,如<矢量>)。我如何說服編譯器使用我的SAL註釋?