2013-08-18 14 views
6

私は自分のコードでGLMライブラリを使い始めました。かなり良いようですが、私はこのようなことはできません:GLMコンストラクタはすべて明示的な理由は何ですか?

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

foo ({x, y, z}); 

コンストラクタがすべて明示的であるためです。

これは私の地獄を怒らせるようになり始めています。私は、このような単純な値型の暗黙の構築を禁止する正当な理由は考えられません。著者は盲目的にいくつかの無関係な言葉をたどったのですか、あるいは私が何かを知っていませんか?

+1

'foo(glm :: vec3(x、y、z))'や...多分、この構文が別の非常に明示的な構文(??)を作っていない理由は? – mr5

+1

なぜあなたは*私たち*ライブラリのメーカーの代わりに? –

答えて

1

最新バージョンでは、彼はC++ 11を追加しました。 README

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

に0.9.5.0のための変更を確認し、私はちょうど私のプロジェクトにそれを落とし、すべてがうまくなるように思われるG-チュック

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

でそれをダウンロードしてください。初期化子リストは歓迎された追加です。

また、::の前後にスペースを入れると、少なくとも私の脳にとっては、その署名を少し難しくすることに同意します。

関連する問題