IDL 定义中方法 HRESULT XXX([out,retval]) 如何返类类型的指针
1.在Vc ATL中,IDL 定义中方法 HRESULT XXX([out,retval]) 如何返回自定义类型的指针
2.比如我有一个类CNode.
CNode 定义如下:
#include <string>
Using namespace std;
Class CNode
{
Public :
CNode();
~CNode();
String strPrint;
}
CNode::CNode():strPrint(“Hi”)
{}
CNode::~CNode()
{}
IDL描述如下:
[id(7), helpstring("method MISet")] HRESULT Test ( [in] ULONG *a1,[out,retvalCNode **pVal);
方法实现如下:
HRESULT Test ( [in] ULONG *a1,[out,retval]CNode **pVal)
{
CNode *p = NULL;
P = new [*a1];
pVal = &p;
Return S_OK;
}
该方法MISet通过得到一个整数n,然后改方法实例化n个Cnode对象数组。
VC的编译器告诉我CNode不合法,
请问
我想返回这对象数组的头指针,请问该怎么写呢?
谢谢。