Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ boost::pool中不需要模板参数_C++_Templates_Boost_Pool - Fatal编程技术网

C++ boost::pool中不需要模板参数

C++ boost::pool中不需要模板参数,c++,templates,boost,pool,C++,Templates,Boost,Pool,声明boost::poor如下所示 boost::pool<> Obj(); boost::pool Obj(); 我很好奇,你怎么能制作一个不需要模板参数,只需要模板参数的类模板呢 我试着在pool.hpp和poolfwd.hpp中使用boost::pool template<class T> class Fakepool { }; // pool.hpp template<class T = int> class Fakepool; // bo

声明boost::poor如下所示

boost::pool<> Obj();
boost::pool Obj();
我很好奇,你怎么能制作一个不需要模板参数,只需要模板参数的类模板呢

我试着在pool.hpp和poolfwd.hpp中使用boost::pool

template<class T>
class Fakepool { };  // pool.hpp

template<class T = int>
class Fakepool;   // boost::pool's declaration in poolfwd.hpp 

int main()
{
    Fakepool<float> a;

    Fakepool<> a2; // Can't do this with only <>
}//main()
模板
类Fakepool{};//pool.hpp
模板
类Fakepool;//boost::pool在poolfwd.hpp中的声明
int main()
{
假货库a;
Fakepool a2;//不能仅使用
}//main()

提前谢谢

这就是你要找的吗

template<class T = int>
class Fakepool { };

int main()
{
    Fakepool<float> a; // Use float

    Fakepool<> a2; // Default as int
}

在类声明后缺少一个分号:
template类Fakepool{}@YunHuang感谢您更正此问题。但这只是复制和粘贴的一个错误。谢谢。我应该像您刚才给我看的那样编写代码,但是boost::pool有点奇怪,实际上看起来像我编写的代码。我很感激。你能解释一下为什么这样做吗?否则,我们只会玩“点区别”,想知道我们发现的差异是否真的相关。@ Roknnyd:在C++函数和模板中可以有默认参数,例如,如果你声明一个函数<代码>空洞F(int x=5)< /C> >,你可以这样称呼它:代码> f>(<代码)>或者指定像这样的参数<代码> f(10)。
,它的原理与上面相同。我知道。但你当时的回答没有提到这一点。感谢您添加更多细节。
template<class T = int>
class Fakepool; 

template<class T>
class Fakepool { }; 

int main()
{
    Fakepool<float> a;

    Fakepool<> a2;
}