C :: *作为模板类型C的参数 - 这是什么语法?

时间:2017-07-17 00:52:29

标签: c++ syntax function-pointers sfinae

考虑这一行:

template <typename C> static yes& test(reallyHas<std::string (C::*)(), &C::serialize>*) { }

我在一篇关于SFINAE的文章中找到了它here。我很难理解这条线。该行上方的注释表示“std::string (C::*)()是函数指针声明。”

我知道函数指针作为参数如下:

void foo(bar (fptr*)(cat c, meow m)){}

::做什么呢? C是一种类型,位于与fptr相同的句法位置。但fptr是实体的名称(指向作为参数传递的函数的指针),所以...这些如何完全对应?

0 个答案:

没有答案