我正在尝试使用自定义类的deques向量。我有这个:
std::vector<std::deque<ParamClass<Type1,Type2>>> lines;
其中ParamClass
是带有两个类参数的参数化类。上面的行位于另一个类的标题(作为私有变量)中。该类的构造函数对变量lines
没有任何作用。
稍后在代码中我尝试:
std::cout << lines.at(0).size() << std::endl;
这应该打印0(因为向量中的deques没有添加任何内容。但是,我得到了一个段错误。我是否必须以某种方式“初始化”deques或者什么?
答案 0 :(得分:3)
您正在访问元素0,但您没有添加任何内容,因此在(0)尝试访问非法内存
你需要确保lines.size()&gt; 0第一