我正在使用一個struct的地方作爲聲明:有沒有辦法使用默認的模板參數,而不必在C++中使用<>?
struct Foo
{
someArray[64];
//...other stuff
};
它在許多地方廣泛使用,我想將它改成這樣:
template <size_t N = 64>
struct Foo
{
someArray[N];
//...other stuff
};
,因爲有一個地方(以及4是精確的),其中這個結構需要與128字節數組的正確性被使用,但它引入了對於所有的其它用途罰不值得付出。在提供一個默認的模板參數,我希望它會穿過透明的,除了那些在訣竅誰需要一個更寬的內部數組,那麼這將宣告Foo<128>
。不幸的是,它似乎強制它的每一次使用都說Foo<>
。有沒有解決的辦法?