Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C++ > Re: Default fun...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 7 Topic 45808 of 46738
Post > Topic >>

Re: Default function parameter values

by "Victor Bazarov" <v.Abazarov@[EMAIL PROTECTED] > May 8, 2008 at 08:25 AM

Tim Frink wrote:
> Hi,
>
> how can I set default values to template parameters?
>
> I've this code:
>
> class A
> {
>   template<typename T>
>   void foo( string = "", T* = 0, bool (T::*func)(void) = 0 );
> };
>
> when I invoke A::foo with the appropriate 3 parameters, everything
> works fine. However, I'd like to invoke the function foo also
> with the first parameter, like objectA.foo( string("test") );
> When I try to compile, I get the error message:
> "no matching function for A::foo(std::string)".
>
> Why?

Because the compiler needs to know what 'T' is.  It cannot deduce
the type from an integral expression ('0').  You need to tell it
what the type T is by supplying the template argument, like

    objectA.foo<sometype>(string("test"));

> I set the second and third parameter of foo to default values,
> so when the second and third argument are not specified, they should
> be set to 0. But this seems not to work that way.

Set to 0 of what type?  '0' has the type 'int'.  It is convertible
to any pointer type and to any pointer-to-member type, but the
compiler needs to know what the destination type is.  It cannot
know from the type from the expression you supplied, that's why it
complains.

V
-- 
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
 




 7 Posts in Topic:
Default function parameter values
Tim Frink <plfriko@[EM  2008-05-08 12:16:07 
Re: Default function parameter values
"Victor Bazarov"  2008-05-08 08:25:23 
Re: Default function parameter values
Andrey Tarasevich <and  2008-05-08 17:20:50 
Re: Default function parameter values
Tim Frink <plfriko@[EM  2008-05-08 13:10:36 
Re: Default function parameter values
"Victor Bazarov"  2008-05-08 10:00:16 
Re: Default function parameter values
Andrey Tarasevich <and  2008-05-08 17:32:08 
Re: Default function parameter values
Tim Frink <plfriko@[EM  2008-05-09 10:13:17 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed Jul 9 0:12:13 CDT 2008.