我有以下向量:
std::vector<xml::Node *> *children;
在我的析构函数中,我需要显式调用子元素中delete
的元素指向的Node *
元素。所以我做了以下事情:
std::cout << "xml::Element destructor" << std::endl;
if(children != NULL) {
if(n_children() > 0) {
for (int i = 0; i < n_children(); i++) {
delete children[i];
}
}
delete children;
}
但我收到以下错误:
oops.cpp: In destructor ‘virtual xml::Element::~Element()’:
oops.cpp:277:42: error: type ‘class std::vector<xml::Node*>’ argument given to ‘delete’, expected pointer
我该如何纠正?