Hello everyone,
I was trying to work with TMap and iterators but I think I’m missing something. Looks like I’m able to create an Iterator as long as it is scoped to a function, but if I try to have an iterator as a class variable, then it fires an error. The error itself doesn’t say much, or I am not able to understand it. (Implicit declaration, function is deleted)
I show an example of what I’m trying to do, on the first piece of code there is the variable declaration. On the second piece of code I try to initialize the variable.
On my .h
USTRUCT(BlueprintType)
struct FStatsModifier
{
//Some variables and code
private:
UPROPERTY(BlueprintReadOnly, EditAnywhere)
TMap<ECHARACTER_STATS, uint8> Modifiers;
TMap<ECHARACTER_STATS, uint8>::TConstIterator Iter;
};
And on my .cpp
void FStatsModifier::Iterator_Reset()
{
Iter = Modifiers.CreateConstIterator(); //Error the function is deleted
TMap<ECHARACTER_STATS, uint8>::TConstIterator b = Modifiers.CreateConstIterator(); //Works fine
Iter = b; //Error the function is deleted
}
I’m sure that’s because I miss something or I miss understood some concepts
Any help will be gratefull!
Thanks in advance