我正在使用在我的对象中构建QList
:
QList<clsXMLnode*> mlstChildren;
在我附加子节点的方法中:
void clsXMLnode::appendChild(clsXMLnode* pobjChild) {
assert(pobjChild != NULL);
mlstChildren.append(pobjChild);
// ...
当我使用调试器进行单步时,我可以看到pobjChild
具有它应该与之关联的所有静态数据,但是附加到'mlstChildren'的节点没有静态成员。使用调试器我可以看到'pobjChild'仍然是正确的'mlstChildren'虽然它具有相同的子节点指针地址,但它的内容与'pobjChild'的内容不匹配,为什么?
修改
它似乎是调试器中的一个错误,我修改了我的appendChild
方法如下:
void clsXMLnode::appendChild(clsXMLnode* pobjChild) {
assert(pobjChild != NULL);
int intNewIdx = mlstChildren.length();
mlstChildren.append(pobjChild);
clsXMLnode* pobjCheck = mlstChildren.at(intNewIdx);
// ...
我可以在调试器中看到pobjCheck
的内容与pobjChild
的内容完全匹配,并且所有静态成员都是完整的,但如果我在调试器中展开mlstChildren
,类地址匹配pobjChild
,静态数据的内容不匹配。