我必须磨练我的c++知识,因为我们必须用MS vc++实现一个特定的模块。好的,这是我喜欢做的: 我有一个包含多个节点的全局 MS DOMDocument。这些节点正在描述对象数据...我收到一个唯一的对象标识符,必须在 DOM 中搜索该对象并将其映射到给定的结构...
所以我有这个:
IXMLDOMNode *Node = NULL;
if (FindObject(objectIdentifier, &Node))
{
nreturn = MapObject(Node, &pVarBind->value);
}
这应该定义一个指向节点的指针,并使用该指针的引用调用 FindObject 方法。如果成功,则调用 MapObject 方法。 然而,“节点”在 Findobject 之后始终为 NULL,但在方法内部它找到它的对象并尝试将其传回...
查找对象看起来像这样:
bool MyController::FindObject(const string aObjectIdentifier, IXMLDOMNode **aObject)
{
bool success = false;
IXMLDOMNode *pXMLEntry = NULL;
//....searching the DOM
if (success)
{
aObject = &pXMLEntry;
}
return success;
}
任何想法可能是错误的?
最佳答案
在 FindObject 中,当你赋值时
aObject = &pXMLEntry;
您正在做的是覆盖您的本地参数。您要做的是写入参数指向的值,如下所示:
*aObject = pXMLEntry;
关于c++ - 返回一个指向 IXMLDOMNode 的指针作为参数……真痛苦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35067136/