Why Inspector reports mismatched allocation and deallocation for simple code like this

Why Inspector reports mismatched allocation and deallocation for simple code like this

Why Inspector complain about this code fro mismatched alloc/dealloc?  Very strange to me.

 

int _tmain(int argc, _TCHAR* argv[])
{
    int *p = NULL;
    p = new int[5];
    delete[] p;

    return 0;
}

AttachmentSize
Downloadimage/png inspector_report.png117.93 KB
5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Just FYI, build with Debug and Inspector doesn't complain about it.

Ah, I was using Visual C++ compiler.  After switching to Intel Compiler, the false warning is gone for both Release and Debug.  Anyone cares to explain why?  Thanks.

 

It looks like Inspector thinks you are allocating using "new" instead of "new[]".

Depending on the compiler and the header files you are using it can difficult to disambiguate the symbol names.

As you mention it looks like a false warning in this case.

Let me know if you have any questions.

Regards,

Kevin

Thanks for replying.  No more issues after switching to Intel compilers.  

Leave a Comment

Please sign in to add a comment. Not a member? Join today