← Back to team overview

syfi team mailing list archive

Re: [HG syfi] fixed memory bug

 

2007/8/28, Kent-Andre Mardal <kent-and@xxxxxxxxx>:
> tir, 28.08.2007 kl. 09.42 +0200, skrev Martin Sandve Alnæs:
> > 2007/8/27, SyFi <syfi@xxxxxxxxxx>:
> > > One or more new changesets pushed to the primary SyFi repository.
> > > A short summary of the last three changesets is included below.
> > >
> > > changeset:   698:2d63445d19a697c4105b4298b92d98579fab85d9
> > > tag:         tip
> > > user:        "Kent-Andre Mardal <kent-and@xxxxxxxxx>"
> > > date:        Mon Aug 27 22:02:35 2007 +0200
> > > files:       doc/manual/syfi-user-manual.pdf syfi/ArnoldFalkWintherWeakSym.cpp syfi/Bubble.cpp syfi/CrouzeixRaviart.cpp syfi/DiscontinuousLagrange.cpp syfi/FE.cpp syfi/FE.h syfi/Hermite.cpp syfi/Lagrange.cpp syfi/Nedelec.cpp syfi/Nedelec2Hdiv.cpp syfi/Nedelec2HdivPtv.cpp syfi/P0.cpp syfi/Polygon.cpp syfi/Polygon.h syfi/RaviartThomas.cpp syfi/Robust.cpp syfi/RobustPtv.cpp
> > > description:
> > > fixed memory bug
> >
> >
> > Have you actually tested this fix?
> >
> > The copy constructor Polygon::Polygon(const Polygon & p) is not
> > virtual (and cannot be in C++) and thus won't invoke the copy
> > constructor for the subclass, f.ex. Line::Line(const Line & l). The
> > copied object isn't any longer a Line, but a Polygon, and calling
> > integrate will only invoke Polygon::integrate which throws an
> > exception.
> >
>
> Yes, I saw that just after I submitted. I'll put in constructors.

No. I've reverted it. It just won't work this way. You can't have
virtual constructors in C++.

-- 
Martin


References