ARRAY_COUNT fails on array passed to method

I’m trying to figure out why ARRAY_COUNT works when the array is created within a method, but not when it is passed to the method.

This compiles:

TArray<FName> ValArr;
FName Temp[] = { TEXT("10"), TEXT("20")};
ValArr.Append(Temp, ARRAY_COUNT(Temp));

But this doesn’t:

ABaseDialogue::DialogueNodes::DialogueNodes(FText dialogueFragment, FName nextNodes [])
{
	DialogueFragment = dialogueFragment;
	NextNodes.Append(nextNodes, ARRAY_COUNT(nextNodes));
}