gpt4 book ai didi

C++:如何将 memcpy 与指针 ** 一起使用?

转载 作者:太空宇宙 更新时间:2023-11-04 14:36:16 26 4
gpt4 key购买 nike

我使用这段代码:

memcpy(arr[i], arr1[i], sizeof(arr1[i]));

定义:

double** arr;           // arr1 is difined the same way.
arr = new double*[row];
for (int i = 0; i < row; ++i) {
arr[i] = new double[col];
memcpy(arr[i], arr1[i], sizeof(arr1[i]));
}

我用命令构建它:g++ -Wall -Wextra -Wpedantic -c arr.cpp 并得到结果:

警告:“void* memcpy(void*, const void*, size_t)”调用中“sizeof”的参数与目标指针类型“double*”相同;预期的“ double ”或显式长度 [-Wsizeof-pointer-memaccess]

memcpy(arr[i], arr1[i], sizeof(arr1[i]));
^

我不明白这是什么。你能告诉我如何让它正常工作吗?

最佳答案

sizeof(arr1[i]) 产生 double* 指针变量的大小,而不是您分配的数组的实际大小。

这个警告很完美,感激不尽。

关于C++:如何将 memcpy 与指针 ** 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com