diff --git a/nonlinelast.cc b/nonlinelast.cc index 5737b684233fa8d6c9cbea46dd6dd8fd9a8b9d53..501d5130cf057f8d59eb72fac80f154afd4936bc 100644 --- a/nonlinelast.cc +++ b/nonlinelast.cc @@ -169,10 +169,10 @@ int main (int argc, char *argv[]) try // Create the transfer operator ////////////////////////////////// - std::vector<TruncatedCompressedMGTransfer<VectorType>* > mgTransfers(grid->maxLevel()); + std::vector<std::shared_ptr<TruncatedCompressedMGTransfer<VectorType> > > mgTransfers(grid->maxLevel()); for (size_t i=0; i<mgTransfers.size(); i++) { - mgTransfers[i] = new TruncatedCompressedMGTransfer<VectorType>; + mgTransfers[i] = std::make_shared<TruncatedCompressedMGTransfer<VectorType> >(); mgTransfers[i]->setup(*grid,i,i+1); } @@ -322,9 +322,6 @@ int main (int argc, char *argv[]) try << " elements: " << grid->size(0)<<std::endl; std::cout << "####################################################" << std::endl; - for (size_t j=0; j<mgTransfers.size(); j++) - delete(mgTransfers[j]); - Dune::LeafAmiraMeshWriter<GridType> amiramesh2; amiramesh2.addLeafGrid(*grid,true); amiramesh2.addVertexData(x,grid->leafGridView(),true);