Error: Unrecognized type 'FNavLocation' - type must be a UCLASS, USTRUCT or UENUM

I have the following following code in a header file for a class called TeamManager:

#include "AI/Navigation/NavigationTypes.h"
struct FNavLocation; //tried forward declaration and same result
UCLASS()
class  ATeamManager : public AActor
{
	GENERATED_BODY()
public:
UFUNCTION() 
void CreatePlayerTeam(TeamStartInfo* TeamInfo, FNavLocation StartingPoint, APlayerController* aPC);

Why is that when I try to add the UFUNCTION() macro I get the following compile error:

Error: Unrecognized type 'FNavLocation' - type must be a UCLASS, USTRUCT or UENUM

But when I remove the UFUNCTION() it compiles? My understanding is that I should use it as often as possible for garbage collection so any help or explanation would be great. Thanks!