trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: April 2012

Re: [trinity-devel] tdebase build failure - easyvector.h:90:5: error: 'erase' was not declared in this scope

From: /dev/ammo42 <mickeytintincolle@...>
Date: Thu, 5 Apr 2012 06:37:48 +0200
On Wed, 04 Apr 2012 22:39:05 -0500
"David C. Rankin" <drankinatty@...> wrote:

> On 04/04/2012 10:20 PM, David C. Rankin wrote:
> > /build/src/tdebase/kicker/applets/launcher/easyvector.h:90:5:
> > error: 'erase' was not declared in this scope, and no declarations
> > were found by argument-dependent lookup at the point of
> > instantiation [-fpermissive]
> 
> Damn,
> 
>   I got tdebase to build, but this is the first time I had to use
> -fpermissive on the new code. Any idea why that suddenly became
> required?
Quick fix: add this-> to calls to inherited std::vector::erase()
function.
Long fix: get rid of/rewrite this broken* code which doesn't seem to add
much compared to a C++98 compliant std::vector (std::vector::at()
does bound-checking already, for example).

* wrapping a STL container by public inheritance, seriously ?