【发布时间】:2016-06-13 04:08:08
【问题描述】:
我正在尝试调用使用字符串参数的 c++ 类的方法,但出现此错误
错误 CS0570 'Wrapper.write(int, ?)' 不受语言支持
基本上我有这个代码,它可以与其他没有字符串对象的简单方法一起使用
我阅读了this,但由于它们不是静态方法,我无法使用它
有什么想法吗?
在 C# 中
Wrapper tb = new Lib.Wrapper();
tb.write( 1, "tablas.txt");
在 C++ Lib.h 中
private:
myCppClass* pMyCppClass;
public:
Wrapper();
int write(int id, String^ file);
还有 C++ Lib.cpp
int Lib::Wrapper::write(int id, String^ file)
{
std::string aux= marshal_as < std::string > (file);
return pMyCppClass->write(id, aux);
}
【问题讨论】:
-
C++ 库是托管 C++ 吗?
-
是的,它是一个管理 c++ 包装一个未管理的 c++ 类 (myCppClass)
-
你能给源C++ Lib吗?我尝试创建这种情况,但对于管理 C++ 来说一切正常。
-
我发现库没有更新,所以我删除了 dll,清理了解决方案,重新编译并再次在 C# 中添加了引用,它可以工作