Jump to content
  • Advertisement
Sign in to follow this  
snooty

Constructors called automatically?

This topic is 4413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi. I ran into an interesting situation today: class A {...}; class B { B(const A &a) {...} //constructor void Foo(const B &b) {...} void FooFoo(const A &a) { Foo(a); } //!!!interesting!!! }; The above compiles fine with Visual Studio 2005. Does it mean the compiler is smart enough to invoke the constructor of B automatically in FooFoo? Or did the compiler overlook the error and I'll die at run-time?

Share this post


Link to post
Share on other sites
Advertisement
Single argument constructors may participate in implicit type conversion, which might surprise some.
If you want to protect against something like this happening, declare the offending constructor explicit.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!