Visual Studio, Error: expected a ']', when using a #define constant in array declaration
<p>Here is my program due to its minimum to reproduce the error:</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;Windows.h&gt;
#include &lt;fstream&gt;

using namespace std;

#define iwidth 5;
#define iheight 3;

int main()
{

    struct rgb_data_struct {
        BYTE B;
        BYTE G;
        BYTE R;
    };

    rgb_data_struct **image;
    image = new rgb_data_struct *[iwidth];
    for (int i = 0; i &lt; iwdith; i++)
    {

    }
    return 0;
}
</code></pre>

<p>Now the problem is that where I am using iwdith in the main function, it is underlined with red zig zag line. Hovering the mouse says "Error: expected a ']'"</p>

<p>Compiling produces these errors:</p>

<pre><code>Error   1   error C2143: syntax error : missing ')' before ';'  c:\users\user0\documents\cpp\bitmap\bitmap\main.cpp 51  1   bitmap
Error   2   error C2143: syntax error : missing ']' before ')'  c:\users\user0\documents\cpp\bitmap\bitmap\main.cpp 51  1   bitmap
Error   3   error C2143: syntax error : missing ';' before ')'  c:\users\user0\documents\cpp\bitmap\bitmap\main.cpp 51  1   bitmap
Error   4   error C2143: syntax error : missing ';' before ']'  c:\users\user0\documents\cpp\bitmap\bitmap\main.cpp 51  1   bitmap
Error   5   error C2065: 'iwdith' : undeclared identifier   c:\users\user0\documents\cpp\bitmap\bitmap\main.cpp 52  1   bitmap
    6   IntelliSense: expected a ']'    c:\Users\user0\Documents\Cpp\bitmap\bitmap\main.cpp 51  32  bitmap
    7   IntelliSense: expected an expression    c:\Users\user0\Documents\Cpp\bitmap\bitmap\main.cpp 51  38  bitmap
    8   IntelliSense: identifier "iwdith" is undefined  c:\Users\user0\Documents\Cpp\bitmap\bitmap\main.cpp 52  22  bitmap
</code></pre>

<p>I am using Microsoft Visual Studio Community 2013. I do not understand why the IDE does not see iwidth when I have declared it!</p>