What this notation stands for?

Hey, I have saw this declaration in a plugin:

TArray<FColor>	FrameBuffer[2];

I wonder what’s the difference between this declaration and the default TArray FrameBuffer;

I thought the same, just wanted to be sure. It is causing access violation for some reason on a plugin I am using. Can you imagine a safe way to working with it?

The violation is happening here:

for (int i = 0; i < 2; i++)
		FrameBuffer[i].Init(BGColor, GlobalHeight*GlobalWidth);

Well I can’t find any documentation, but by testing it I’d say it just a multidimensional array. If you declare it as TArray FrameBuffer[2], you can’t work with FrameBuffer as an array, but you can work with FrameBuffer[0] and FrameBuffer[1] as separate arrays. I.e. FrameBuffer.Num() or FrameBuffer.Add() won’t compile, but FrameBuffer[0].Add() or FrameBuffer[1].Num() will.