D言語は、なんと関数の引数に構造体を渡せません!! 以下のようなコードを実行してみましょう struct X{} template id(X x){const id = x;} const x = id!(X.init); 上のようにid関数の引数を構造体にしてインタプリタを起動してみましょう。 インタプリタの使い方とかはid:niha:20070103とか参照 Error: arithmetic/string type expected for value-parameter, not X数と文字列以外を値渡しするなとインタプリタ様がブチ切れたようです。 さて、どうすればいいでしょうか? 実はこれを解決する手段は沢山存在します。 まず昔から使われていて有名なのは型を実行時に渡すようにすることです。 struct Point{int x,y;} template id(X,X x){con