我有一个名为Matrix
的类和一个名为NeuralNet
的类。
它们看起来像这样:
Matrix.h :
class Matrix
{
public:
double * matrix = nullptr;
Matrix(int,int);
};
Matrix.cpp :
#include "Matrix.h"
Matrix::Matrix(int h,int w)
{
matrix = new double[h*w];
};
我的问题是:"如何在课程NeuralNet
中使用此课程的实例?"
我试过了:
NeuralNet.h :
class NeuralNet
{
public:
Matrix * ptr = nullptr;
NeuralNet(int,int);
}
NeuralNet.cpp :
#include "Matrix.h"
#include "NeuralNet.h"
NeuralNet::NeuralNet(int h,int w)
{
ptr = new Matrix(h,w);
}
这不起作用,我收到错误:
Missing ';' before n'*'
任何类型的帮助将不胜感激! 感谢
答案 0 :(得分:-1)
在NeuralNet.h中,您需要预先声明Matrix:
class Matrix;
或包含它:
#include "Matrix.h"
另外,在Matrix.cpp中,
Matrix::Matrix(int h,int w)
{
Matrix = new double[h*w];
}
应该是
Matrix::Matrix(int h,int w) :
matrix( new double[h*w] )
{
}