C++ - Using Pointers as parameters/return for arrays

UFUNCTIONs are meant to be used in Blueprints. There’s no node to get addresses of variables in blueprints. Only UObjects or classes derived from them are references as pointers on the C++ side. Every other data type is passed by reference, including structs.

Your function would be more UE4-esque like this:

UFUNCTION(BlueprintCallable, Category = "Test")
void WaveClampedSine(int amplitude, int frequency, int phase, int num, UPARAM(ref) TArray<int> &Results);

void UYourUObjectClass::WaveClampedSine(int amplitude, int frequency, int phase, int num, TArray<int> &Results)
{
	for (int i = 0; i <= num; ++i)
	{
		Results.Add(amplitude * FMath::Sin(frequency * i + phase));
	}
}