相当于托管 c++ 中的 C# null
我有一个托管 C++ 对象,
bool Test::TestStringNumber(String^ testData)
{
int len = testData->Length;
if(len > 0) return true;
}
正在 C# 中使用相同的函数,
void Main()
{
Test t = new Test()
t.TestStringNumber(null);
}
但应用程序崩溃了。在调试过程中,我在 C++ 中观察到它是“未定义值”,
所以我尝试在 C++ 代码中使用 nullptr 测试 testData,并使用以下代码,但仍然发生相同的崩溃
if( testData == nullptr && String::IsNullOrEmpty( testData ))
*一种方法是捕获 C++ 托管代码中的异常并返回;
i have one Managed C++ object
bool Test::TestStringNumber(String^ testData)
{
int len = testData->Length;
if(len > 0) return true;
}
am using same function in C#
void Main()
{
Test t = new Test()
t.TestStringNumber(null);
}
but application crash. during debugging i observed in C++ it comes as 'undefined value'
ALso i tried to test testData with nullptr in c++ code, and used following code, but still same crash
if( testData == nullptr && String::IsNullOrEmpty( testData ))
*One way is to catch exception in C++ managed code and return ;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该可以正常工作吗?我不明白你的代码中的要点吗?
Should work just fine? Not that I see the point in your code?