我正在尝试实现一个包含一个 valarray 和 2 个定义其大小的整数的类。我的 hpp 文件看起来像这样:
class Matrix
{
public:
// Constructors
Matrix();
Matrix(int width, int height);
// Mutators
void setWidth(int width); // POST: width of the matrix is set
void setHeight(int height); // POST: height of the matrix is set
//void initVA(double width);
// Accessors
int getWidth(); // POST: Returns the number of columns in the matrix
int getHeight(); // POST: Returns the number of rows in the matrix
// Other Methods
//void printMatrix(const char* lbl, const std::valarray<double>& a);
private:
int width_;
int height_;
std::valarray<double> storage_;
};
但是,当我尝试像这样在构造函数上初始化 valarray 时:
Matrix::Matrix(int width, int height)
{
width_ = width;
height_ = height;
storage_(width*height);
}
我不断收到此错误消息:
错误 C2064:术语不计算为采用 1 个参数的函数
文档说我可以用至少 5 种不同的方式声明一个 valarray,但只有默认的构造函数有效。我到处寻找,但找不到任何有用的信息。任何帮助,将不胜感激。