Announcement

Collapse
No announcement yet.

Unable to declare TScriptInterface<const InterfaceClassNameGoesHere> function parameter.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Unable to declare TScriptInterface<const InterfaceClassNameGoesHere> function parameter.

    I'm making an interface with the following source code:

    Code:
    #pragma once
    
    #include "WRTeamInterface.generated.h"
    
    UINTERFACE(BlueprintType)
    class UWRTeamInterface : public UInterface
    {
    	GENERATED_UINTERFACE_BODY()
    };
    
    class WRAITH_API IWRTeamInterface
    {
    	GENERATED_IINTERFACE_BODY()
    	
    	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Team")
    	bool IsFriendlyToAll() const;
    
            //This fails---------------------------------
    	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Team")
    	bool IsFriendlyToTeam(const TScriptInterface<const IWRTeamInterface>& Team) const;
    
    	UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "Team")
    	uint8 GetTeam() const;
    };
    However UHT seems to ignore the const and generates the following internal code in the .generated files. I normally never look at this but this results in my code not compiling.

    Code:
    bool IWRTeamInterface::IsFriendlyToTeam(TScriptInterface<IWRTeamInterface> const& Team) const
    	{
    		check(0 && "Do not directly call Event functions in Interfaces. Call Execute_IsFriendlyToTeam instead.");
    		WRTeamInterface_eventIsFriendlyToTeam_Parms Parms;
    		return Parms.ReturnValue;
    	}
    Code:
    2>F:\Code\UnrealEngineProj\Wraith\Intermediate\Build\Win64\UE4Editor\Inc\Wraith\Wraith.generated.1.cpp(3290): error C2511: 'bool IWRTeamInterface::IsFriendlyToTeam(const TScriptInterface<IWRTeamInterface> &) const': overloaded member function not found in 'IWRTeamInterface'
    2>  F:\Code\UnrealEngineProj\Wraith\Source\Wraith\Public/Gameplay/WRTeamInterface.h(12): note: see declaration of 'IWRTeamInterface'

    #2
    Got any solution?

    Comment

    Working...
    X