Community
cancel
Showing results for 
Search instead for 
Did you mean: 
xman_hawkeye
Beginner
131 Views

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;
}

0 Kudos
4 Replies
xman_hawkeye
Beginner
131 Views

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

xman_hawkeye
Beginner
131 Views

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.

Kevin_O_Intel1
Employee
131 Views

 

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

xman_hawkeye
Beginner
131 Views

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

Reply