このコードはありますが、都合の良いことに、そのコンストラクタのデフォルトのパラメータをint kindと0にします。(プロジェクトのクラスとその中の1つのパラメータで、オプションで、私は二回、コンストラクタを記述する必要はありませんので、その大)コンストラクタ内のデフォルトのテンプレートパラメータ
class mama{
public:
template<typename x> mama(x i=int(0)){}
};
int main(){
mama x;
}
それはそれは私がこれを行うことができ、別の方法があるので、コンストラクタを見つけることができないと言うので、これは動作しませんか?
error: no matching function for call to ‘mama::mama()'
note: candidates are: mama::mama(const mama&)
私たちはまったく同じコードで終わった。すっきり:) –
あなたのctorがテンプレート化されているという事実は、私がクラス全体をテンプレート化するための強力なヒントです。 YMMV!おそらく; – dirkgently
;私はこのようなテンプレートコンストラクタがクラスをテンプレート化せずにどのように役立つだろうと想像することはできませんが、これは元の質問に何を求めているのか、そして他の誰かがクラスをテンプレートにすることを扱っています:) – bdonlan