Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jace::虚拟机关闭错误_Java_C++_Exception - Fatal编程技术网

Java Jace::虚拟机关闭错误

Java Jace::虚拟机关闭错误,java,c++,exception,Java,C++,Exception,这段代码有什么问题 typedef ::jace::proxy::java::lang::String JString; JString toString(const std::wstring& p) { JString strVal(p.c_str()); return strVal; } 它抛出异常未处理的异常,jace::VirtualMachineShutdownError,我已将p.c_str()传递给JString变量strVal 出现该异常的原因是wst

这段代码有什么问题

typedef ::jace::proxy::java::lang::String JString;
JString toString(const std::wstring& p)
{

    JString strVal(p.c_str());
    return strVal;
}

它抛出异常
未处理的异常,jace::VirtualMachineShutdownError
,我已将p.c_str()传递给
JString
变量strVal

出现该异常的原因是wstring::c_str()返回
const wchar\u t*
,而
jace::String
类没有接受wchar\u 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;
}

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

出现该异常的原因是wstring::c_str()返回
const wchar\u t*
,而
jace::String
类没有接受wchar\u 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;
}

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

不知何故,我无法对你的帖子发表评论。无论如何,你应该看看其他的字符串代理构造函数,特别是一个以
字节
数组作为输入的。无论如何,您应该查看其他字符串代理构造函数,尤其是以
字节
数组作为输入的字符串代理构造函数。