在C+中实现返回数组的C#接口函数+/CLI
我有一个引用C#dll的C++/CLI项目,我需要实现一个接口类 C#中的接口类如下所示:在C+中实现返回数组的C#接口函数+/CLI,c#,c++,c++-cli,C#,C++,C++ Cli,我有一个引用C#dll的C++/CLI项目,我需要实现一个接口类 C#中的接口类如下所示: public interface IMeshData{ //(...) INode NodeById(int nodeId); double[] NodeXYZById(int nodeId); } 在C++项目中,我可以实现这个接口: public ref class IMeshData_class : public IMeshData{ public:
public interface IMeshData{
//(...)
INode NodeById(int nodeId);
double[] NodeXYZById(int nodeId);
}
<>在C++项目中,我可以实现这个接口:
public ref class IMeshData_class : public IMeshData{
public:
//this one is accepted:
virtual INode^ NodeById(int nid){
return this->NodeById(nid);
}
//this one gives me an error:
virtual double* NodeXYZById(int nid){
return this->NodeXYZById(nid);
}
}
当我第一次在没有任何成员函数的情况下定义上面的类时,我得到一个错误:
错误:类无法实现接口成员函数“IMeshData::NodeById”(在(…).dll中声明)
因此,在定义函数NodeById
之后,这个错误消失了,我得到:
错误:类无法实现接口成员函数“IMeshData::NodeXYZById”(在(…).dll中声明)
<代码> NoDyyZyByID<代码>返回代码> double []/COD>,我认为这将在C++中转化为<代码>双*<代码>,但似乎不是这样。
<>我如何正确地实现C++中返回数组的C++成员函数?< /p> ,如C++中所述,在C++中,必须使用类型<代码>数组^ < /> >代替C >中的代码> > []/COD>。这似乎很有效,谢谢。(如果你回答,我会接受它作为一个解决方案)。