Hi, this example code fails to compile:
struct FMyObject
{
int32 Number;
};
///////////////////////////////////////////////////////////////////////////////
struct FMyObjectComparator
{
FORCEINLINE bool operator()(const FMyObject& A, const FMyObject& B) const { return A.Number < B.Number; }
};
///////////////////////////////////////////////////////////////////////////////
void SomeCode()
{
TArray<FMyObject> SolidObjects;
SolidObjects.Heapify(FMyObjectComparator()); // compiles fine
SolidObjects.HeapSort(FMyObjectComparator()); // compiles fine
TArray<FMyObject*> ObjectPtrs;
ObjectPtrs.Heapify(FMyObjectComparator()); // compiles fine
ObjectPtrs.HeapSort(FMyObjectComparator()); // ERROR CITY
}
Is this a known issue? Is there a workaround?
Many thanks,
-.
(originally posted here: HeapSort with TArray of pointers fails to compile - C++ - Epic Developer Community Forums)