我在C ++方面并不是很出色,所以如果这只是一个愚蠢的错误,对不起我。我试图将XMLParser暴露给虚幻引擎中的蓝图
使用VS,代码不会内联显示任何编译错误。 (即,任何地方都没有红线)但是,当我尝试编译时,出现以下错误:
=CONCATENATE(A1," ",B1," ",C1," ",TEXT(D1,"dd/mm/yyyy"))
相关代码行:
Unrecognized type 'FXmlNode' - type must be a UCLASS, USTRUCT or UENUM
我使用XMLParser模块更新了Build.cs,可以访问各种XML类内部的函数。但是,我发现编译器无法识别它很奇怪。有谁知道是什么原因造成的?
任何帮助将不胜感激。
答案 0 :(得分:0)
一旦我真正想到了一点,解决方案就相当简单了。 XmlNode类不是UCLASS类型,我无法在Blueprints中返回非U *类型,这是一个问题。 (因此,为什么现在该错误才有意义)
相反,我为XmlNode类本身创建了另一个包装器类,并将其设置为UCLASS类型。从那里开始,包装XmlNode类非常容易,因为它主要是返回String和其他节点引用。
答案 1 :(得分:-1)
UE4中的反射系统不支持指向USTRUCTS的指针。您可以在代码中使用它,但无法将USTRUCT指针公开给蓝图,必须按值或const引用返回struct