passing a NULL as an argument in a function
<p>i created a book class which i having being working on as part of my assignment but its seems have being having one problem which i am failing to understand in my code below,
this is my code</p>

<pre><code>private:
Book (string N = " ", int p = 100, string A = "",
        string P = "", string T = "", int Y = 2000)
{
    cout &lt;&lt; "Book constructor start " &lt;&lt; N &lt;&lt; endl;
    Title=N;
    pages=p;
    Author=A;
    Publisher=P;
    Type=T;
    Yearpublished=Y;
}

~Book(void)
{
    cout &lt;&lt; "Book destructor start " &lt;&lt; Title &lt;&lt; endl;
    system("pause");
}

public:
static Book * MakeBook(string N = "", int p = 100, string A = "",
        string P = "",string T = "",int Y = 2000)
{
    return new Book(N,p,A,P,T,Y);
}

static void DelBook(Book * X) {
    delete X;
}
</code></pre>

<p>In the above code is a constructor and destructor, my question is what happens when I pass a <code>NULL</code> as an argument in the <code>stactic void DelBook</code> function? like this below</p>

<pre><code>static void DelBook(NULL)
{
    delete NULL;
}
</code></pre>

<p>How can I make it compile if its possible to pass a NULL value? Thanks in advance.</p>
