vector 初始化

来源:互联网 发布:网络分流器是干嘛用的 编辑:程序博客网 时间:2024/06/12 00:37

今天编程的时候定义这么一个容器变量

std::vector<Point2f> pt;

然后接下来有这样的访问语句

pt[0]= Point2f(t[0], t[1]) ;pt[1]= Point2f(t[2], t[3]) ;pt[3]= Point2f(t[4], t[5]) ;

这时候运行时出现错误 segmentation fault。
这是因为 pt定义之后没有被初始化,那么pt[0]就是一个野指针啦。
所以定义一个变量的时候最好初始化。
或者我这里可以直接用下面这样

pt.push_back( Point2f(t[0], t[1]) );pt.push_back( Point2f(t[2], t[3]) );pt.push_back( Point2f(t[4], t[5]) );
0 0
原创粉丝点击