我试图将没有尺寸的矩阵传递给函数并填充数据。这里有一个例子:将空矩阵传递到函数
#include <iostream>
#include <stdlib.h>
using namespace std;
void fun(double **matrix);
int main(void)
{
double **matrix;
fun(matrix);
for(int i = 0; i < 10; i ++)
{
cout << "matrix = " << matrix[i][0] << "\t" << matrix[i][1] << endl;
}
}
void fun(double **matrix)
{
int rowCount = 10;
int colCount = 2;
matrix = new double*[rowCount];
for(int i = 0; i < rowCount; ++i)
matrix[i] = new double[colCount];
for(int i = 0; i < rowCount; i ++)
{
matrix[i][0] = 3.;
matrix[i][1] = 4.;
}
}
它编译,但是当我执行它,它返回以下错误: 非法指令:4 你知道为什么吗?
什么语句错误节目吗? –
调用'fun(矩阵)'不会以任何方式影响矩阵。搜索“按值传递参数”和“按参考”。 –
在内部使用带'std :: vector'的'Matrix'类。 –