Jace:: 虚拟机关机错误

Jace:: Virtual machine Shutdown Error

本文关键字:错误 关机 虚拟机 Jace      更新时间:2023-10-16

这段代码有什么问题?

typedef ::jace::proxy::java::lang::String JString;
JString toString(const std::wstring& p)
{
    JString strVal(p.c_str());
    return strVal;
}

它抛出异常unhandled exception, jace::VirtualMachineShutdownError,其中我已将 p.c_str() 传递给JString变量 strVal。

你得到这个异常的原因是 wstring::c_str() 返回const wchar_t*jace::String类没有接受 wchar_t* 的构造函数。最接近的是String( ::jace::JArray< ::jace::proxy::types::JChar > p0 );,可以将其视为等价于char*

问题的解决方法可能是这样的:

JString toString(const std::wstring& p)
{
    std::string s;
    s.assign( p.begin() , p.end() );
    JString strVal( s );
    return strVal;
}

这不是一个有效的解决方案,但有效。