On 2010-09-30, Paul Rubin <no.em...@nospam.invalid> wrote: > int maximum(int a, int b); > > int foo() { > int (*barf)() = maximum; > return barf(3); > }
> This compiles fine for me. Where is the cast? On the first line of code inside foo(). > Where is the error message? You chose to use a form that suppresses the error message. > Are you saying barf(3) doesn't call maximum? I would say that it is undefined whether or not it calls maximum, because you called a function through a function pointer of a different sort, which invoked undefined behavior. There exist real compiles on which code much like this will coredump without ever once trying to jump to the address of the maximum function, because the compiler caught your error. -s -- Copyright 2010, all wrongs reversed. Peter Seebach / usenet-nos...@seebs.net http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated! I am not speaking for my employer, although they do rent some of my opinions. -- http://mail.python.org/mailman/listinfo/python-list