your L
и L_original
являются двумерными матрицами, состоящими из массива указателей на отдельно выделенные одномерные векторы. Эти адреса памяти могут не находиться в непрерывном пространстве памяти. Так что вы не можете использовать один memcpy
для копирования всех подвекторов.
вам придется использовать для l oop, чтобы применить memcpy
между каждым L [i] и L_original [i].
также ваш оператор sizeof()
используется неправильно. Вам нужно скопировать длину байта данных (1-мерного подвектора), а не длину указателя. Вам нужно что-то вроде
for(int i=0; i<nU; i++)
memcpy(L[i],L_original[i], sizeof(double)*nF);