Code:
Program received signal SIGSEGV, Segmentation fault.
0x0804a0b0 in lvert::operator() (this=0xbffff5d8, v1=@0x8050470, v2=@0x8)
at p2.cpp:62
62 if(v1.x==v2.x)
(gdb) list
57
58 struct lvert
59 {
60 bool operator()(const vert &v1,const vert &v2)
61 {
62 if(v1.x==v2.x)
63 return v1.y<v2.y;
64 return v1.x<v2.x;
65 }
66 };
(gdb) back
#0 0x0804a0b0 in lvert::operator() (this=0xbffff5d8, v1=@0x8050470, v2=@0x8)
at p2.cpp:62
#1 0x0804a532 in std::_Rb_tree<vert, std::pair<vert const, std::set<vert, lvert, std::allocator<vert> > >, std::_Select1st<std::pair<vert const, std::set<vert, lvert, std::allocator<vert> > > >, lvert, std::allocator<std::pair<vert const, std::set<vert, lvert, std::allocator<vert> > > > >::lower_bound (
this=0xbffff5d0, __k=@0x8) at stl_tree.h:1323
#2 0x0804a4ad in std::map<vert, std::set<vert, lvert, std::allocator<vert> >, lvert, std::allocator<std::pair<vert const, std::set<vert, lvert, std::allocator<vert> > > > >::lower_bound (this=0xbffff5d0, __x=@0x8) at stl_map.h:508
#3 0x08049630 in std::map<vert, std::set<vert, lvert, std::allocator<vert> >, lvert, std::allocator<std::pair<vert const, std::set<vert, lvert, std::allocator<vert> > > > >::operator[] (this=0xbffff5d0, __k=@0x8) at stl_map.h:316
#4 0x08048a9f in unite (v1={x = 0, y = 1}, v2={x = 1, y = 1},
dsets=@0xbffff5d0, verts=@0xbffff5c0) at p2.cpp:82
#5 0x080490b7 in main () at p2.cpp:155
(gdb)
That's what the debugger gives.