[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: odd compiler behaviour?



On Sat, Mar 15, 2003 at 08:06:33PM +0000, Bruynooghe Floris wrote:
> On Fri, Mar 14, 2003 at 06:12:28PM +0000, Pigeon wrote:
> > #include <stdlib.h> // need this to use malloc()
> 
> Well I thought so to, but it _did_ work without to my surprise (discovered after
> I stupidly forgot it)

The straight-C-compatible version does. C++ is more fussy about
declarations, so the C++-required version causes g++ to moan if you
don't include the header file.

Using undeclared functions can land you in trouble eventually; the
options -Wmissing-prototypes, -Wmissing-declarations and
-Wstrict-prototypes are useful, I think. The idea is to ensure that
the straight-C compiler moans if you forget a header file or declare
your own functions 'loosely'.

> But using `//' is also a C++ism no?

Indeed so. I used that form to emphasise that "this version contains
C++isms".

> BTW; thanks to all of you for the replies, I couldn't find this in any book (not
>  even K&R).

"Glad to be of service" :-)

Pigeon



Reply to: