【发布时间】:2016-02-08 01:02:51
【问题描述】:
我是一个相对较新的编程学生,对 C++ 非常陌生,所以在我努力解决这个问题时请多多包涵。
我正在尝试使用一些基本功能来创建一个 Matrix 类来更改它。在 Matrix 类中创建的对象应该是一个 100x100 的 2D 浮点数组。我应该能够将此数组中特定位置的值更改为另一个值。相关代码如下:
//in the .h file
class MatrixC
{
private:
float matrix[100][100];
public:
void initializeMatrix(MatrixC);
void printMatrix(MatrixC);
void setValue(MatrixC, float, int row, int column);
float getValue(MatrixC, int row, int column);
}
//in the .cpp file
void setValue(MatrixC matrix, float value, int row, int column)
{
matrix[row][column] = value; //ERROR LINE
}
我在上面指示的行中收到以下错误,行中的第一个括号突出显示:“MatrixC 矩阵 - 没有运算符 '[]' 与这些操作数匹配。”
我也收到关于同一行中的“=”的此错误。
经过一番谷歌搜索后,我终生无法弄清楚如何解决有关 “[]”。关于“=”的问题似乎是因为编译器认为“matrix[row][column]”和“value”是不同的数据类型,但两者都指的是浮点数。我怀疑一旦“[]”的问题得到解决,这个问题就会得到解决。
我是否不正确地访问了 MatrixC 类中的二维数组?如果是这样,我不知道如何正确地做到这一点。如果不是,我不知道问题是什么。
【问题讨论】:
标签: c++ arrays visual-studio visual-studio-2010 matrix