On Tue, Oct 23, 2001 at 08:21:26PM +0200, Martin v. Loewis wrote: > > The following code does not produce an error when one is expected. > > void stat (); > > > > static const int success = 0; > > > > void monk () > > { > > if (stat == success); > > }; > > Thanks for your report. This is not a bug in the compiler: both the > function pointer and the integer convert to bool (4.12). So this is a > boolean comparison, and thus well-formed C++.
Really? [EMAIL PROTECTED]:~% cat test.cc void stat (); static const int bar = 1; int main() { if (bar == stat) return 4; } [EMAIL PROTECTED]:~% g++-3.0 test.cc test.cc: In function `int main()': test.cc:6: ISO C++ forbids comparison between pointer and integer -- Daniel Jacobowitz Carnegie Mellon University MontaVista Software Debian GNU/Linux Developer