------- Comment #2 from yuanfei8077 at gmail dot com 2006-09-28 23:25 ------- Subject: Re: Rule that binding rvalue to a refernce need a copy ctor don't work
Hi Andrew, You are right, I am omitting the code, however, my question is: 1) > t.cc:38: error: 'MemAllocator<Type>::MemAllocator() [with Type = int]' is > private > t.cc:49: error: within this context However, MemAllocator is only invoked by class data member cache's intialization list, and MemAllocator's copy constructor is already provided, so you mean I am forced to offer default constructor too to make it pass, right ? 2) > There is no > tdat_hash_map(_Alloc&) in the sources. >::tdat_hash_map(MemAllocator<int>)main.cpp:49: note: candidates are: tdat_hash_map<_AllocType>::tdat_hash_map() [with _AllocType = MemAllocator<int>] main.cpp:42: note: tdat_hash_map<MemAllocator<int> >::tdat_hash_map(const tdat_hash_map<MemAllocator<int> >&) But from the original error output, comiler have added a default tdat_hash_map in line 42, and its format is same as what you added to make "no matching" error disappear. Can you explain explain why the default can't work ? Thanks for your help! -Kelvin On 28 Sep 2006 13:39:16 -0000, pinskia at gcc dot gnu dot org <[EMAIL PROTECTED]> wrote: > > > ------- Comment #1 from pinskia at gcc dot gnu dot org 2006-09-28 13:39 > ------- > There is no > tdat_hash_map(_Alloc&) in the sources. > Adding one makes it get past that error and then we get: > t.cc: In constructor 'tdat_hash_map<_AllocType>::tdat_hash_map(const > _AllocType&) [with _AllocType = MemAllocator<int>]': > t.cc:64: instantiated from here > t.cc:38: error: 'MemAllocator<Type>::MemAllocator() [with Type = int]' is > private > t.cc:49: error: within this context > > > So this is invalid still. > > > -- > > pinskia at gcc dot gnu dot org changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > Status|UNCONFIRMED |RESOLVED > Resolution| |INVALID > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29266 > > ------- You are receiving this mail because: ------- > You reported the bug, or are watching the reporter. > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29266