The compiler has already done all of its work at that time, so you can't blame him.

In general: There might be scenarios where writing an address to pointer is valid. The most basic usage of this is "MyPointer = NULL". That is basically the same. This is one of the unlucky cases where you encounter errors previously done much later - or never at all.
EDIT: @JustSid: He did.