2013-08-18 13 views
6

Zacząłem korzystać z biblioteki GLM w moim kodzie. Wygląda całkiem nieźle, ale nie mogę zrobić takich rzeczy:Dlaczego konstruktory GLM są jawne?

void foo (const glm :: vec3 & arg); 

foo ({x, y, z}); 

ponieważ konstruktorzy są wyraźnie.

To zaczyna mnie denerwować. Nie mogę wymyślić dobrego powodu, aby zakazać niejawnej konstrukcji takich prostych typów wartości. Czy autorzy ślepo podążają za jakimś nieistotnym powiedzeniem, czy też wiedzą o czymś, czego ja nie wiem?

+1

co powiesz na 'foo (glm :: vec3 (x, y, z))' lub ... może ta składnia jest powodem, dla którego nie tworzą innej jawnej składni (??) – mr5

+1

Dlaczego pytasz * nas * zamiast producenta biblioteki? –

Odpowiedz

1

W najnowszej wersji dodał C++ 11; zobaczyć zmiany w 0.9.5.0 w README

https://github.com/g-truc/glm

i pobrać go na g-truc

http://glm.g-truc.net/

po prostu wrzucił do mojego projektu i wszystko wydaje się być dobrze. Listy inicjalizacyjne są dodatkowym dodatkiem.

Zgadzam się również, że wstawianie spacji wokół :: sprawia, że ​​podpis ten jest trochę trudny, przynajmniej dla mojego mózgu.

Powiązane problemy