You must use Unreal’s Actor Factories to spawn instances of classes derived from Actor, e.g.
FActorSpawnParameters spawnParams;
spawnParams.Owner = this;
AMyWeapon* wep = GetWorld()->SpawnActor<AMyWeapon>(AMyWeapon::StaticClass(), spawnParams);
You must use Unreal’s Actor Factories to spawn instances of classes derived from Actor, e.g.
FActorSpawnParameters spawnParams;
spawnParams.Owner = this;
AMyWeapon* wep = GetWorld()->SpawnActor<AMyWeapon>(AMyWeapon::StaticClass(), spawnParams);