任何人都可以帮助我将接口(interface)指针转换为 vc++ 中的列表变量,因为我在类型转换时遇到错误
error 2440 "type cast" :cannot convert from '_bstr_t' to 'std::list<_Ty>'
编辑:我是这样做的:
C#
List<string> Disp() {
List<string> li = new List<string>();
li.Add("Ravi");
li.Add("Raj");
Return li;
}
C++
void main() {
HRESULT Hr=CoInitilize(NULL);
ITestPtr p(__uuid("DemoClass");
std::list l=(std::list)p->Disp();
}
但奇怪的是,有时它会显示 Disp 不是 ITest 的成员,有时会出现类型转换错误。我已经验证这只是因为返回类型是 List
最佳答案
您还可以使用 Boost Range MFC/ATL Extenstion
CList<CString> vcList;
std::list<T> stdList;
BOOST_FOREACH( CString s, vcList)
{
stdList.push_back(s);
}
关于c# - 如何将 vc++(例如:IListPtr)指针转换为 std::list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1033169/