4.7 C++ Transition Guide

Anyone fallen foul of this one yet?



USTRUCT(BlueprintType)
struct FImpactInfo
{
	GENERATED_USTRUCT_BODY();

	UPROPERTY(BlueprintReadOnly, Category = "Impact Info")
	FHitResult HitInfo;

	UPROPERTY(BlueprintReadOnly, Category = "Impact Info")
	float BulletEnergy;
};




TArray<FImpactInfo> ImpactHits = WeaponType.GetDefaultObject()->GetImpactHitLocations(FFOwner, SpawnLocation, TargetLoc);

			if (ImpactHits.Num() > 0)
			{
				TArray<FImpactInfo>::TIterator ImpactHit = ImpactHits.CreateIterator();
				for (; ImpactHit != NULL; ++ImpactHit)
				{


It throws the following errors that I’m currently trying to decipher…



1>D:\Users\stuart\Documents\Unreal Projects\FireFight\Source\FireFight\Private\FFWeaponAttachment.cpp(234): error C2678: binary '!=' : no operator found which takes a left-hand operand of type 'TIndexedContainerIterator<TArray<FImpactInfo,FDefaultAllocator>,FImpactInfo,int32>' (or there is no acceptable conversion)
1>          D:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime\Engine\Classes\Sound/DialogueWave.h(37): could be 'bool operator !=(const FDialogueContextMapping &,const FDialogueContextMapping &)'
1>          D:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime\Engine\Classes\Sound/DialogueTypes.h(57): or       'bool operator !=(const FDialogueContext &,const FDialogueContext &)'
1>          D:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime\Engine\Classes\Engine/StaticMesh.h(210): or       'bool operator !=(const FMeshSectionInfo &,const FMeshSectionInfo &)'
1>          C:\Program Files (x86)\Windows Kits\8.1\include\shared\guiddef.h(197): or       'bool operator !=(const GUID &,const GUID &)'
1>          D:\Program Files\Unreal Engine\4.7\Engine\Source\Runtime\Core\Public\Containers\Array.h(121): or       'bool TIndexedContainerIterator<TArray<FImpactInfo,FDefaultAllocator>,FImpactInfo,int32>::operator !=(const TIndexedContainerIterator<TArray<FImpactInfo,FDefaultAllocator>,FImpactInfo,int32> &,const TIndexedContainerIterator<TArray<FImpactInfo,FDefaultAllocator>,FImpactInfo,int32> &)' [found using argument-dependent lookup]
1>          while trying to match the argument list '(TIndexedContainerIterator<TArray<FImpactInfo,FDefaultAllocator>,FImpactInfo,int32>, int)'