次のように宣言されている構造体がどこかで使用されています。
struct Foo
{
someArray[64];
//...other stuff
};
多くの場所で広く使用されているため、次のように変更したいと思います。
template <size_t N = 64>
struct Foo
{
someArray[N];
//...other stuff
};
正確さのために、この構造体を 128 バイト配列で使用する必要がある場所が 1 つ (正確には 4 つ) あるためですが、他のすべての使用に対して導入されるペナルティは支払う価値がありません。デフォルトのテンプレート引数を提供する際に、それが透過的に通過することを望んでいましたFoo<128>
. 残念ながら、それを使用するたびにFoo<>
. これを回避する方法はありますか?