имплементацию? у меня выдаёт ошибку компиляции function 'void IDoSomeThings::Example_Implementation(int32)' already has a body
// .h
UINTERFACE(Blueprintable, BlueprintType)
class UDoSomeThings : public UInterface
{
GENERATED_BODY()
};
class DOSOMETHINGS_API IDoSomeThings
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintCallable, BlueprintNativeEvent)
void Example(int32 X);
};
// .cpp
void IDoSomeThings::Example_Implementation(int32 X)
{
UKismetSystemLibrary::PrintString(Cast<UObject>(this), TEXT("IDoSomeThings::Example_Implementation"), true, false, FColor::Red, 5);
}
А попробуй явно объявить Example_Implementation в хэдере Но вообще насколько я помню, для интерфейсных UFUNCTION нельзя дефолтную имплементацию добавить. Если б только-c++ были - тогда да Но мб я сейчас всё напутал
Можно. Надо объявить в классе virtual метод с приставкой _implementation и дописать его реализацию в любом удобном месте.
Обсуждают сегодня