【发布时间】:2016-05-20 19:56:49
【问题描述】:
我是 C++ 新手。我正在研究 Matrix。
我有source.cpp,它是include;
#include "Matrix.h"
/*******************************************************
* Test1
*******************************************************/
void Test1(){
Matrix M;
double A[] = { 8, 2, 4, 6, 3, 5, 2, 7, 4 };
double B[] = { 1, 5, 8, 3, 5, 6, 4, 7, 9 };
double C[9];,
*
*
*
我的 matrix.cpp 类包括;
void Matrix::Add(double *A, double *B, double *C, int N){
for (int i = 0; i<N; ++i)
for (int j = 0; j<N; ++j)
C[i][j] = A[i][j] + B[i][j];
}
但我得到了
"表达式必须有指向对象类型的指针"
C、A 和 B 出现错误。我该怎么办?
【问题讨论】:
-
欢迎来到 StackOverflow!请提供minimal reproducible example
-
A、B或C都不是矩阵,它们是简单的数组,因此您不能将它们视为您想要的数组数组。 -
Matrix想要二维数组,但A、B、C是一维数组。 -
我认为最好的做法是回到 c++ 教程,阅读有关数据类型和指针的内容。然后是关于对象编程和类。您显示的代码示例有点表明您在错误的方向上有点远。 “修复”你
Matrix::Add可能很容易,但它只会强化错误的路径。