$\mathfrak{g}$ is a finite-dimensional complex semisimple Lie algebra and $\mathfrak{h}$ is one of its Cartan subalgebra.
$V$ is a (finite-dimensional?) complex vector space and $ρ:\mathfrak{g}\to \mathfrak{gl}(V)$ is a representation of $\mathfrak{g}$ on $V$.
A weight $λ$ is a linear functional on $\mathfrak{h}$ for which there exist a nonzero vector $v$ in $V$ so that for each element $H\in\mathfrak{h}$ there is $ρ(H)(v)=λ(H)v$.
A root is a nonzero weight when $ρ$ is the adjoint representation.
So weights and roots are both elements of $\mathfrak{h}^*$
Then according to the "Integral element" section of "Weight (representation theory)" article of Wikipedia,
Let $\mathfrak{h}_0^*$ be the real subspace of $\mathfrak{h}^*$ generated by the roots which is the dual space of the subspace $\mathfrak{h}_0$ of $\mathfrak{h}$.
So although $\mathfrak{h}_0^*$ is a real vector space, but its elements are complex linear functionals.
By choosing an inner product on $\mathfrak{g}$ (which seems to be the killing form), elements (including the roots and weights defined above) of $\mathfrak{h}_0^*$ can be identified to elements in $\mathfrak{h}_0$.
The identified roots and weights on $\mathfrak{h}_0$ have the properties of a root system.
The confusion is, as the space of root system, $\mathfrak{h}_0$ must be an Euclidean space i.e. real vector space, but its dual space $\mathfrak{h}_0^*$ consist of complex linear functionals...
So is there another implicit identification in $\mathfrak{h}_0^*$ not mentioned by the article?