gpt4 book ai didi

c++ - 为指针分配内存的问题

转载 作者:行者123 更新时间:2023-11-30 01:53:37 26 4
gpt4 key购买 nike

我之前也问过类似的问题。我得到的答案指出我的错误是没有为指针预留内存。下面的代码仍然报错:cannot convert ‘void*’ to ‘double’ in assignment。这是否意味着数组中的所有元素都被预留为 NULL?

#include <cmath>
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <vector>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
int N = 2;

int main(int argc, char *argv[])
{
double *p[N];

for(int i = 0; i<N; ++i){
*p[i]=malloc(sizeof(double));
}

*p[0] = 1.0;
*p[1] = 2.0;
cout << p[0] << " " << p[1] <<endl;
*p[0] = 5.0;
*p[1] = 6.0;
cout << p[0] << " " << p[1] <<endl;
return 0;

我需要一个数组来解决我遇到的问题。该数组需要位于全局内存中(在 CUDA 中),它需要是 GPU 可以读取/写入的指针。

最佳答案

p[i]=malloc(sizeof(double));

..去掉取消引用 double 类型并试图将 malloc() 结果分配给它的“*”。

关于c++ - 为指针分配内存的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23061750/

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