C++ 强制转换时访问冲突异常
我想将FB::variant强制转换为FB::JSObjectPtr。下面是我的代码C++ 强制转换时访问冲突异常,c++,firebreath,C++,Firebreath,我想将FB::variant强制转换为FB::JSObjectPtr。下面是我的代码 void PluginAPI::Test(FB::variant testVariant) { FB::JSObjectPtr jsObject=testVariant.convert_cast< FB::JSObjectPtr>(); } void PluginAPI::Test(FB::variant testVariant) { FB::JSObjectPtr jsObject
void PluginAPI::Test(FB::variant testVariant)
{
FB::JSObjectPtr jsObject=testVariant.convert_cast< FB::JSObjectPtr>();
}
void PluginAPI::Test(FB::variant testVariant)
{
FB::JSObjectPtr jsObject=testVariant.convert_cast();
}
上述强制转换引发访问冲突异常。请让我知道解决方案。我不知道为什么会抛出访问冲突异常,但通常最可能的原因是,传入的不是javascript对象 为什么要在函数内部执行convert_cast?只需将函数重写为:
void PluginAPI::Test(const FB::JSObjectPtr& jsObject)
{
// use it here
}
FB::variant
和FB::JSObjectPtr
是如何定义的?Test(FB::variant testVariant)是从JavaScript调用的&testVariant是JavaScript对象。那么您所说的JavaScript对象
是什么意思?向我们展示代码和可能的原因,而不仅仅是问题。@herohyuongtao和Victor不会因为你不了解FireBreath就否决这个问题;对于熟悉FireBreath的人来说,您的问题的答案是显而易见的。这些是FireBreath类型谢谢你的回复。