Accessing members of a USTRUCT pointer

Ok so I set up a struct

USTRUCT()
struct FStruct
{
GENERATED_BODY()

FVector2D Vector;

FStruct() { Vector = FVector2D(0.0f, 0.0f); }

};

then I created a FStruct and made a pointer for it:

(in my .h)

FStruct MyStruct;
FStruct* p_MyStruct = &MyStruct;

Now I have a functioning pointer, right?

I have this function that takes in memory addresses like this:

IsInRadius(FVector2D &TestPoint, FVector2D &StartPoint, FVector2D &EndPoint);

And this works really well for normal FVector2Ds, but when I try to use this function with members of my pointer, thinks get messy:

IsInRadius(p_MyStruct->Vector, p_MyStruct->Vector, p_MyStruct->Vector);

I get an error, presumably because my struct is a pointer and it is pointing to a vector.

"Nonstandard extension used: ‘argument’: conversion from ‘FVector2D’ to ‘FVector2D &’

The weird this is, doesn’t is usually convert my FVector2D values? Like if I straight up do:

FVector2D Values = FVector2D(1.f, 1.f);

and use this vector, it works fine. Anyone know what I’m doing wrong?

Getting a pointer to a member variable you just declared is kind of unnecessary. If you’re just using it inside of the class or .h file you declared it in, accessing the Vector member by MyStruct.Vector, should be what you do. But, try this for accessing the reference to Vector from the pointer: &(p_MyStruct.Vector)