現在、テンプレート関数は .cpp ファイル内にありますが、これらのテンプレートはヘッダーで定義する必要があります。ただし、それらをヘッダーに移動すると、テンプレートは .cpp ファイル内の静的メソッドにアクセスできなくなります。これを機能させるには、どのような変更が必要ですか?
これは単なるユーティリティ ヘッダーと cpp であり、クラスとは関係ありません。
先に進んで、必要なすべての関数の宣言をヘッダー ファイルに入れます (そして、static
それらの定義から を削除します)。それらを入れたり、namespace FunctionName_impl_detail
そのようなものを入れたりすると、名前の衝突から安全になります。コメントを宣言の近くに置いて直接使用することを思いとどまらせる場合は、おそらくそれらを「隠す」または「保護する」必要はありません。しかし、他のコードがそれらを使用するのをほとんど防ぎたい場合は、それらをprivate
、テンプレート関数static
であるクラスのメンバーにすることができます。friend