Allocate on the stack, or call delete to fix memory leak

This commit is contained in:
Andreas Fabri 2013-11-10 10:00:10 +01:00
parent bf5f124a97
commit a5c84cf13d
2 changed files with 6 additions and 5 deletions

View File

@ -32,14 +32,14 @@ int main()
last = InputList.end(); last = InputList.end();
std::cerr << InputList.size(); std::cerr << InputList.size();
Range_tree_2_type *Range_tree_2 = new Range_tree_2_type(first,last); Range_tree_2_type Range_tree_2(first,last);
Key a=Key(4,8.1); Key a=Key(4,8.1);
Key b=Key(5,8.2); Key b=Key(5,8.2);
Interval win=Interval(a,b); Interval win=Interval(a,b);
std::cerr << "\n Window Query: \n"; std::cerr << "\n Window Query: \n";
Range_tree_2->window_query(win, std::back_inserter(OutputList)); Range_tree_2.window_query(win, std::back_inserter(OutputList));
current=OutputList.begin(); current=OutputList.begin();
while(current!=OutputList.end()) while(current!=OutputList.end())
@ -48,7 +48,7 @@ int main()
current++; current++;
} }
if(Range_tree_2->range_tree_2->is_valid()) if(Range_tree_2.range_tree_2->is_valid())
std::cerr << "Tree is valid\n"; std::cerr << "Tree is valid\n";
else else
std::cerr << "Tree is not valid\n"; std::cerr << "Tree is not valid\n";

View File

@ -26,10 +26,11 @@ class Interval_traits{
typedef Tree_anchor<Data,Window> Tree_Anchor; typedef Tree_anchor<Data,Window> Tree_Anchor;
typedef Segment_tree_d<Data,Window,Interval_traits> Segment_Tree_d; typedef Segment_tree_d<Data,Window,Interval_traits> Segment_Tree_d;
void remove_warning(Segment_Tree_d*){}
int main(){ int main(){
Tree_Anchor *anchor = new Tree_Anchor; Tree_Anchor *anchor = new Tree_Anchor;
Segment_Tree_d *segment_tree = new Segment_Tree_d(*anchor); Segment_Tree_d *segment_tree = new Segment_Tree_d(*anchor);
remove_warning(segment_tree); delete anchor;
delete segment_tree;
return 0;
} }