1
我有以下的載體:使用delete運算符的指針矢量
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
我如何糾正呢?