std::unique_ptr fallen
Posted Tue 19 Jan 2016 09:56:10 PM CET
Florian Lohoff
Finde den Fehler:
void way(std::unique_ptr<CompressedWay> cw) {
double distance=origin->distance(*cw);
ways.push_back(std::make_pair(distance,std::move(cw)));
std::cout << "cwid " << cw->id() << " distance " << distance << std::endl;
}
Das Nutzen von cw->id()
im std::cout
wirft einen Segfault. Am Ende
ist das wie ein "use after free" dadurch das ich den Pointer
mit std::move
in meinen ways vector move.
Auf sowas muss man erstmal kommen.