我正在查看一些代码并遇到类似于以下内容的行:
std::tr1::function<bool (int, int)>(//etc...
模板类型的语法对bool (int, int)
我来说并不熟悉。基于谷歌搜索,在这种情况下,std::tr1::function
这种语法似乎用于定义函数的返回类型和参数。这是有道理的,但为什么这种语法有效?据我所知,C++模板只能指定类型?
我试图在代码中实例化该类型的实例:
bool (int, int) test;
正如我所料,该语句未能编译。至少,语法需要类似于: bool (test)(int, int);
被bool (int, int)
视为 C++ 类型?在我的脑海中调和这个有什么建议吗?
谢谢,亚当