Re: Patch for : src/Lib/vpf/database path
Frederic Bouvier <[email protected]> Sat, 22 Jan 2005 15:51:56 +0100
| Newsgroups | gmane.games.flightgear.terragear.devel |
|---|---|
| Message-ID | <[email protected]> |
Paul Surgeon a écrit : >On Saturday, 22 January 2005 15:56, Curtis L. Olson wrote: > > >>Frederic Bouvier wrote: >> >> >>>Paul Surgeon a écrit : >>> >>> >>>>GCC 3.4 doesn't like a copy constructor as a private member of a class. >>>>It only accepts it as a public member. >>>> >>>>I'm not sure if that is what is wanted but at least it compiles on my >>>>system now. >>>> >>>> >>>Private copy constructor ( and private assignment operator ) are there >>>to prevent objects of that class to be copied. Any attempt result in a >>>compiler error. If the class designer don't want the objects be copied >>>( because the object must be a singleton or there are resource or >>>performance issues ), it is better to see why the compiler needs to >>>copy objects. >>> >>> >>Hmmm, I have already applied this patch. Let me know if I should back >>it out. >> >>Curt. >> >> > >From : http://gcc.gnu.org/bugs.html#cxx_rvalbind > >Starting with GCC 3.4.0, binding an rvalue to a const reference requires an >accessible copy constructor. This might be surprising at first sight, >especially since most popular compilers do not correctly implement this rule. > > What was the line of the error ? And do you checked the copy constructor do the right thing ( it is the first time it is called now ) >The C++ Standard says that a temporary object should be created in this >context and its contents filled with a copy of the object we are trying to >bind to the reference; it also says that the temporary copy can be elided, >but the semantic constraints (eg. accessibility) of the copy constructor >still have to be checked. > >For further information, you can consult the following paragraphs of the C++ >standard: [dcl.init.ref]/5, bullet 2, sub-bullet 1, and [class.temporary]/2. > > -Fred _______________________________________________ Terragear-devel mailing list [email protected] http://mail.flightgear.org/mailman/listinfo/terragear-devel 2f585eeea02e2c79d7b1d8c4963bae2d