1
。一つはdefault_S
がS
とは異なる名前を持つように、一貫性が邪魔に壊れているのtypedefC++のデフォルトのテンプレートクラス/構造体とは避けてください。<>
typedef S<int> defaut_S;
default_S(1);
が、ここのために達する可能性がある、とユーザーとの混同を引き起こす可能性があります。メンバ関数では機能しないことは言うまでもありません。
これを実行するより良い方法はありますか?
あなたが何を求めているのか分からない。明らかに 'default_S'は' S'とは違う名前なので、なぜその事実が混乱を引き起こすのかは分かりません。メンバ関数にも問題はありません。 –
C++ 17では、コンストラクタからクラステンプレートパラメータを推論できます。 – chris
私は、上記のアプローチは混乱につながる可能性があると考えました。なぜなら、私たちは同じクラスを持っているからです。概念的には両方の名前で同じです。多分彼らは別のクラスから来ていると思っている人でしょう。あるいは、別のクラスとして扱われることを望むので、これが好まれますか?いいえ、メンバー機能に問題はありません。私は間違っていました。 – LeastSquaresWonderer