【发布时间】:2018-02-14 11:09:37
【问题描述】:
我正在阅读 Bjarne Stroustrup 的《C++ 编程语言》。它在某处使用 using 关键字来制作函数指针数据类型 P1 和 P2,如下所示:
using P1 = int(∗)(int∗);
using P2 = void(∗)(void);
然后它使用 using 关键字来创建另一个函数指针数据类型:
using CFT = int(const void∗, const void∗); -(1)
然后它使用 CFT 声明一个函数指针并将其传递给一些 ssort 函数:
void ssort(void∗ base, siz e_t n, size_t sz, CFT cmp);
我的问题是,如果它使用“使用”来制作函数指针数据类型,那么 line-(1) 不应该是:
using CFT=int(*)(const void*, const void*);
而不是它实际上是什么?
【问题讨论】:
-
哪个版本?如果他们在那里提到,你检查勘误表了吗?
-
第 4 版。没有检查,会检查。
-
@Default: 书中的勘误在哪里?
-
@Birbal:书中没有。如果他们在出版这本书时就知道错误,他们就不会犯了。 Google“c++ 编程语言第 4 版勘误表”.
-
另见this 答案。这可能会有所帮助
标签: c++ function-pointers