Oliver Jowett wrote:

Tom Lane wrote:

On a related note, it would also be nice to have default
parameters and some way to say to use them.



That is fundamentally not ever going to happen, because it blows overloaded-function resolution out of the water: there is no way to choose whether "foo(42, 2.5)" matches foo(int, float) or foo(int, float, something-with-a-default). Let's try to limit our attention to something that might actually work.


C++ manages to solve this problem, although I can't remember the exact mechanics (and C++ is usually not a good example to follow anyway ;)

Your're wrong:

try to compile this:

void foo( int a, float b ) { }
void foo( int a, float b, int c=0 ) { }

int main(char argc, char **argv)
{
 foo( 42, 2.5 );

 return 0;
}

you'll get:

a.cpp:6: error: call of overloaded `foo(int, double)' is ambiguous
a.cpp:1: error: candidates are: void foo(int, float)
a.cpp:2: error:                 void foo(int, float, int)

usualy C++ is not a good example as SQL is not  :-)




Regards Gaetano Mendola





---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
     subscribe-nomail command to [EMAIL PROTECTED] so that your
     message can get through to the mailing list cleanly

Reply via email to