Trying to make my first c++ structure

I am new to c++ programming but not to UE4. I thought I’d try to make a script that would take in a mesh, and separate it into vertices, triangles and UV Data and return it. I know that it’s hard to return to multiple values in a function without a structure, so the first problem is making a structure. I’m falling at the first hurdle, but I’m not giving up.

USTRUCT()
	struct FMeshData{

		UPROPERTY()
			TArray<FVector>* vertices;
		UPROPERTY()
			TArray<int>* triangles;
		UPROPERTY()
			TArray<FVector2D>* uvData
// This is the constructor
			FMeshData()
			: vertices[(0, 0, 0), (0, 100, 0), (100, 0, 0), (100, 100, 0)],
			triangles[0, 1, 2, 3, 2, 1, 0],
			uvData[(0, 0), (0, 1), (1, 0), (1, 1)]
		{}
// This is another constructor, but allows me to set the variables to a different value than the default.
		FMeshData(TArray<FVector>* Vertices, TArray<int>* Triangles, TArray<FVector2D>* UvData)
			: vertices(Vertices),
			triangles(Triangles),
			uvdata(Uvdata)
		{}
	}

To make the structure variable, I have included in the header file:

FMeshData meshData = {
	};

No default variables as the constructor defaults should take their place initally.
The errors I’m getting are:

You have a bunch of things in your cpp file that belong in your header (for example, all the variable declarations and USTRUCT / UPROPERTY macros.

You are missing a “;” after the uvData declaration.

Here is an example header with a constructor embedded in the header:

    #include "Kismet/BlueprintFunctionLibrary.h"
     #include "GameGlobals.generated.h"
     
     USTRUCT(BlueprintType)
     struct FWeapon {
     GENERATED_USTRUCT_BODY()
         FWeapon(FString n = "", int32 d = 0) : name(n), damage(d) {}
     
         UPROPERTY(BlueprintReadWrite, Category = Vars)
             FString name;
         UPROPERTY(BlueprintReadWrite, Category = Vars)
             int32 damage;
     };

If you want the constructors in your cpp file then you declare them in your header and define them jn your cpp file.

How would I do this with arrays? From what I gathered from that example my syntax needs to be something similar to this:

FMeshData(TArray<FVector> v = {}, TArray<int> t = {}, TArray<FVector2D> uv = {}) : vertices(v), triangles(t), uvData(uv) {}

Why are you using pointers for your members ? You can’t have UPROPERTY() tag with pointer of types wich are not UClass.

I realised that much due to the error messages. I’m still learning c++ and where it is appropriate to use pointers