我有以下功能:
El sistema no puede encontrar la ruta especificada.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! flashcard-app@1.0.0 server: `cd public; live-server --port=1234 --
entry-file=index.html`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the flashcard-app@1.0.0 server script.
npm ERR! This is probably not a problem with npm. There is likely additional
logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Robbie\AppData\Roaming\npm-cache\_logs\2017-06-
13T18_35_14_604Z-debug.log
它传递了一些有效的和一些无效的void AddActor(AActor* Actor)
{
if (!IsValid(Actor)) { return; }
if (Actor->IsA(ACertainActor::StaticClass()))
{
//...
}
}
- 指针(Actor
正在等待销毁或已被销毁)。
根据代码文档Actors
,如果对象可用,则返回IsValid()
:
true
但它在/**
* Test validity of object
*
* @param Test The object to test
* @return Return true if the object is usable: non-null and not pending kill
*/
抛出访问冲突时崩溃了:
if (Actor->IsA(ACertainActor::StaticClass()))
我希望Exception thrown at 0x00007FF868B56895 (UE4Editor-CoreUObject.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0xFFFFFFFFFFFFFFFF.
检查IsValid(Object)
是否为Object
,引擎是否知道nullptr
,是否确实检查是否等待销毁。
因此,Object
返回true后,IsValid(Object)
应该可用。
这不是它的工作原理吗?
还有其他方法可以检查指针是否指向可以使用的有效对象吗?
答案 0 :(得分:3)
好吧,从您的例外情况来看:
UE4Editor.exe中的0x00007FF868B56895(UE4Editor-CoreUObject.dll)抛出异常:0xC0000005:访问冲突读取位置0xFFFFFFFFFFFFFFFF。
明确指出此指针不是nullptr,它的值为0xFFFFFFFFFFFFFFFF
。因此,IsValid
的工作方式与文档中所述相同:
如果对象可用,则返回true:非null且未挂起kill
您应该将指针初始化为nullptr
。