我有3个文件
dimentions.h:
namespace mtm {
class Dimensions {
int row, col;
//some code
};
}
IntMatrix.h:#include "dimentions.h"
namespace mtm
{
class intMatrix
{
private:
int** data;
int col;
int row;
public:
intMatrix(Dimensions dims, int num=0);
//some code
};
//the line bellow is where I get the error
intMatrix(Dimensions dims, int num=0): col(dims.getCol()),row(dims.getRow()) ,data(new int*[dims.getRow()])
{
for(int i=0;i<dims.getCol())
{
data[i](new int[dims.getCol]);
}
for(int i=0;i<dims.getRow();i++)
{
for(int j=0;j<dims.getCol();j++)
{
data[i][j]=num;
}
}
}
}
编译器会说:“小”之前应有“)当我将鼠标置于暗处时,vs代码显示:“error-type mtm::dims”
但暗淡不是一种可变的类型。
IntMatrix.cpp:
#include "IntMatrix.h"
using namespace mtm;
//some code
在IntMatrix.cpp中,问题是它不能识别什么是Dimentions,但是可以识别什么是intMatrix。 最佳答案
欢迎来到StackOverflow!
编译器消息有时会引起误解,并且在您的情况下会出现错误,因为您在实现中重复了默认值。这可能是编译器抱怨的错误。
编辑
作为drescherjm的指针,您还忘记了将类名添加到构造函数中
正确的定义应为:
intMatrix::intMatrix(Dimensions dims, int num): ...
之后,如果您仍然有错误,请告诉我。