• ベストアンサー

template<calss T> A(const T &t=T())

template<class T> A(const T &t=T()); という関数宣言において引数のところの解釈に戸惑ってます どういう風に解釈したらいいのか教えていただければ幸いです

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

引数 t は型Tのconstな参照体であり、 T()をデフォルトとする。 # 戻り値がありませんよー class Foo { public: Foo(); Foo(int); ... } Foo f(5); A(f); A(); // = A(Foo()) と同じ

nubou
質問者

補足

ありがとうございました 引数がない場合にデフォルトコンストラクタによってT型オブジェクトを構築し それによってできたできたてのT型オブジェクトを引数とするということですか?

その他の回答 (1)

回答No.2

> 引数がない場合にデフォルトコンストラクタによってT型オブジェクトを構築し > それによってできたできたてのT型オブジェクトを引数とするということですか? YES

関連するQ&A