ANSI C++: Differences between delete and delete[]
<p>I was looking a snipset of code:</p>

<pre><code>    int* ip;
    ip = new int[100];
    delete ip;
</code></pre>

<p>The example above states that:</p>

<blockquote>
  <p>This code will work with many compilers, but it should instead read:</p>
</blockquote>

<pre><code>    int* ip;
    ip = new int[100];
    delete [] ip;
</code></pre>

<p>Is this indeed the case?</p>

<p>I use the compiler "Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86" and does not complain (first example) while compiling. At runtime the pointer is set to <code>NULL</code>. </p>

<p>Do other compilers behave differently? Can a compiler not complain and issues can appear at runtime?</p>
