C++ 在函数内将一个数组复制到另一个数组时发生运行时指针异常
主要目标是从C++ 在函数内将一个数组复制到另一个数组时发生运行时指针异常,c++,arrays,pointers,C++,Arrays,Pointers,主要目标是从main()函数复制构造函数中的数组。使用cin>>非常容易,但是我必须给构造函数一个已经定义好的数组。我在编译程序时没有收到任何错误。仅在运行时失败,出现以下异常: 引发未处理的异常:读取访问冲突。这是一个很好的例子 0x1110112 我已经尝试在类中定义这些数组,尽管我知道这不是一个好的实践。但我不能这样做,因为这会导致此类中定义的其他函数中的指针出错。以下是我目前得到的信息: #include "pch.h" #include <iostream> #includ
main()
函数复制构造函数中的数组。使用cin>>
非常容易,但是我必须给构造函数一个已经定义好的数组。我在编译程序时没有收到任何错误。仅在运行时失败,出现以下异常:
引发未处理的异常:读取访问冲突。这是一个很好的例子
0x1110112
我已经尝试在类中定义这些数组,尽管我知道这不是一个好的实践。但我不能这样做,因为这会导致此类中定义的其他函数中的指针出错。以下是我目前得到的信息:
#include "pch.h"
#include <iostream>
#include <iomanip>
#define size 5
using namespace std;
class Matr
{
private:
//const int size = 5;
double **A;
double *B;
public:
Matr(double (*a)[size], double b[]) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
A[i][j] = a[i][j]; //here exception falls
}
B[i] = b[i];
}
}
};
int main()
{
double A[5][5] = { {-6,18,15,8,6},
{2,11,-18,17,23},
{-13,-2,8,-10,-5},
{1,13,11,-10,-5},
{10,21,8,-1,11} };
double B[5] = { 0,-8,1,-2,-6 };
Matr matr(A,B); //define the arrays
}
#包括“pch.h”
#包括
#包括
#定义尺寸5
使用名称空间std;
类材料
{
私人:
//常数int size=5;
双**A;
双*B;
公众:
材料(双(*a)[尺寸],双b[]{
对于(int i=0;i
我想将其定义为类中的数组,以便在其他函数中使用它们。这有可能吗D在
Matr
构造函数中,应使用new
为A
和B
分配内存A
在分配给它时未初始化。它只是一个普通指针,没有分配任何内存。