3

我正在查看一些代码并遇到类似于以下内容的行:

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++ 类型?在我的脑海中调和这个有什么建议吗?

谢谢,亚当

4

1 回答 1

2

它被称为函数类型。

您不能创建它的实例,但可以创建指向它们的指针和 typedef。

这个问题有一些见解:函数类型是用来做什么的?

于 2012-11-28T19:55:02.263 回答