繁体   English   中英

将C ++字符串传递给ac#函数

[英]Passing C++ string to a c# function

我将Microsoft的assert类包装在c#中,并希望在c ++中使用该代码。 我不得不处理信息字符串的问题,我不太确定如何将c ++字符串传递给ac#方法。 两者都被管理。

//c# Assert wrapper
static public bool AreEqual<T>(T expected, T actual, string info){
    //...
    WriteLine(info);
    //...
}

从c ++调用

//c++
void someCppFunc(){
    long expected = 2;
    long actual = 2;
    Assert::AreEqual<long>(expected, actual, L"Some info message");
}

但是我得到的错误说它没有匹配功能。 我将如何处理?

只需传递一个托管字符串,而不是本地C ++字符串即可:

//c++/clr
void someCppFunc(){
    long expected = 2;
    long actual = 2;
    Assert::AreEqual<long>(expected, actual, gcnew System::String(L"Some info message"));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM