gpt4 book ai didi

c++ - 如何将 'double*' 传递给类函数,并将该值应用于该类中的另一个 'double*'

转载 作者:行者123 更新时间:2023-11-27 23:25:52 25 4
gpt4 key购买 nike

我正在尝试将一个包含 double 组的 double* 传递到我的类的构造函数中,并为元素分配值元素。

主要内容:

int main()
{
double* data = new double[4];
data[0] = 1.1; data[1] = 2.2; data[2] = 3.3; data[3] = 4.4;

Matrix a(2,2,data);

return 0;
}

这是我的构造函数:

Matrix::Matrix(int M, int N, double* input_data)
{
this->M = M;
this->N = N;

cout << "Matrix Constructor: M: " << M << "\tN: " << N << endl;

for (int i = 0; i < M; i++)
{
for (int j = 0; j < N; j++)
{
data[i*N+j] = input_data[i*N+j]; //***This is the problem***
}
}

}

在构造函数中尝试索引过去的 input_data[0] 会导致崩溃。 data[] 可以正常访问,我可以在我的 main 函数中索引过去的 input_data[0] 数据。

我假设这不应该以这种方式完成,并且会感谢任何朝着正确方向的插入。

最佳答案

您似乎没有在构造函数中为 data 分配内存。

Matrix::Matrix(int M, int N, double* input_data)
{
data = new double[M*N];
//....
}

关于c++ - 如何将 'double*' 传递给类函数,并将该值应用于该类中的另一个 'double*',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9574082/

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