unique_ptr w/ custom deleter in header
Nick
nospam@codesniffer.com
Sat Jan 19 16:41:00 GMT 2013
On Sat, 2013-01-19 at 13:24 +0000, Jonathan Wakely wrote:
> On Jan 19, 2013 3:22 AM, "Nick" wrote:
> >
> > When I use a std::unique_ptr w/ a custom deleter via an inline lambda in
> > a non-template function implemented inline in a header file, I get a
> > linker error.
>
> The error you're getting is a known bug with lambdas, you can find
> multiple issues like it in bugzilla.
Thanks for the info Jonathan. I'm a bit surprised I didn't come across
these issue via Google searches. I'll look directly in bugzilla.
So for clarity, are you saying that this is a known bug w/ gcc's support
for lambdas, or something larger (ie. w/ the spec)?
>
> > Note that the specifics of this example are only for demonstration
> > purposes--I'm not actually trying to use a custom deleter to perform
> > what the default implementation does.
>
> It's good that it's only for demonstration because your deleters have
> undefined behaviour, they mix the array form of 'new' with the
> non-array 'delete'.
>
> Usually the unique_ptr<T[]> specialization should be used for arrays.
Right, thanks.
More information about the Gcc-help
mailing list