Fix warnings shown by clang

I used a initializer list because the way it was done before did create temporary objects just to copy them to they're real location.