Messages in this thread | | | From | Kyle Moffett <> | Subject | Re: Style Question | Date | Sun, 11 Mar 2007 21:27:53 -0400 |
| |
On Mar 11, 2007, at 19:16:59, Jan Engelhardt wrote: > On Mar 11 2007 18:01, Kyle Moffett wrote: >> On the other hand when __cplusplus is defined they define it to >> the "__null" builtin, which GCC uses to give type conversion >> errors for "int foo = NULL" but not "char *foo = NULL". A "((void >> *)0)" definition gives C++ type errors for both due to the broken C >> ++ void pointer conversion problems. > > I think that the primary reason they use __null is so that you can > actually do > > class foo *ptr = NULL; > > because > > class foo *ptr = (void *)0; > > would throw an error or at least a warning (implicit cast from void* > to class foo*).
Isn't that what I said? :-D
Cheers, Kyle Moffett
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |