Is the specification of `bsearch` in C++11 & C++14 defective?
Following on from my answer to this question , in both C++11 and C++14: [C++11, C++14: 25.5/2]: The contents are the same as the Standard C library header <stdlib.h> with the following exceptions: [C++11, C++14: 25.5/3]: The function signature: bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); is replaced by the two declarations: extern "C" void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); extern "C++" void *bsearch(const void *key, const void *base, size_t nmemb, size_t size, int (