成员初始化列表中初始化的向量与传递给构造函数的数字不同
Vectors initialised in member initialisation list not the same as passed to constructor..?
我正在尝试创建一个简单的表类,其中包含两个具有成员初始化列表的向量:
table.hh
class Table
{
public:
Table(vector<double> a, vector<double> b);
~Table();
double interpolate(double val, bool extrapolate = true);
double integrate();
void print();
private:
vector<double> x, y;
};
table.cc
Table::Table(vector<double> a, vector<double> b)
: x(a), y(b)
{
cout << this->x.size() << " " << this->y.size() << endl;
try
{
if (this->x.size() != this->y.size())
throw LengthException();
}
catch(exception &e)
{
cout << e.what() << endl;
}
}
当我尝试通过创建表的新实例来测试异常时:
vector<double> a = {1.0, 2.0, 3.0, 4.0};
vector<double> b = {1.0, 2,0, 3.0};
Table* mytable = new Table(a, b);
我发现例外没有被抛出,每个向量的大小都为4。
我无法立即看到为什么这是不预期的,有人可以提供帮助吗?
,因为向量b
的大小为4:
我对您的代码进行了重新格式化,现在应该很明显:
vector<double> b = { 1.0,
2,
0,
3.0 };
相关文章:
- 为什么std::vector和std::valarray初始化构造函数不同
- 初始化构造函数C++中结构的向量
- C++ 中常量属性的初始化构造函数错误
- 不正确的输出和变量未用Eclipse CDT初始化构造函数
- 如何使用嵌套初始化构造函数中的一维向量初始化矩阵
- 如何通过参数初始化构造函数中的数组?
- 是否有理由使用 malloc 初始化构造函数中的指针
- 如何在 c++ 中初始化构造函数中的二维数组
- 为什么初始化构造函数列表参数时会发生异常?
- 无法初始化构造函数
- 初始化构造函数的默认参数的优选方法是什么?
- 在C++17中使用空列表初始化构造函数时发生编译错误
- C++ 初始化构造函数初始化列表中的嵌套结构?
- 初始化构造函数c++中的向量
- g++ (GCC) 4.6.0 我有以下类,我正在尝试初始化构造函数的结构成员初始化列表
- 使用字符串文本初始化构造函数中的 std::array<char,x> 成员。海湾合作委员会错误?
- 初始化构造函数C++中函数的成员指针
- 在c++中初始化构造函数中的静态成员变量时出错
- memset()初始化构造函数中的对象
- 初始化构造函数C++中的成员向量