Can anybody explain why the following code is not permitted?
subroutine Allocation1(Vec) class(*), allocatable, intent(out) :: Vec(:) select type(Vec) type is(real(8)) allocate(Vec(10)); Vec = 0.D0 type is(complex(8)) allocate(Vec(10)); Vec = (0.D0,0.D0) type is(integer) allocate(Vec(10)); Vec = 0 endselect endsubroutine Allocation1