Ciò non esclude che qualcos'altro lo faccia al posto tuo, specie se il framework utilizza smart pointer come mi pare di capire.Originariamente inviato da andrea2453
Guarda se per cancellazione del puntatori intendi l'esecuzione di "delete" io non ne eseguo nemmeno una.
In ogni caso quel comportamento è tipico di una doppia cancellazione, un accesso a una zona di memoria non allocata o a un accesso a una zona di memoria oltre i limiti consentiti.
In particolare mi viene il sospetto che questa linea di codice:
prepari uno smart pointer per un solo float, dove invece ti serve un array.codice:float* obj_ptr = m_object.ptr<float>(0);
In questo caso la memcpy corrompe la memoria e l'effetto è di avere quella violazione.
Il fatto che si verifichi all'uscita dell'altra funzione è puramente casuale.