Прошло довольно много времени, так как я получаю эту ошибку в стандарте <cstring> заголовочный файл без видимых причин. Поисковый поиск Google привел много ответов, но ни один из них не работал.
Ошибка C2039: 'memchr': не является членом `` глобального пространства имен ''
Ответ 1
Хорошо, я сам это исправил. Это была глупая ошибка! У меня есть файл под названием "String.h" в проекте библиотеки, который подбирается с помощью <cstring> заголовок. Вероятно, потому что я добавил путь к < String.h > как дополнительный каталог include в моем тестовом проекте (где я получаю эту ошибку.) Надеюсь, это поможет кому-то.
Ответ 2
Ваш компилятор может (правильно) помещать функцию memchr в пространство имен std С++. Попробуйте префикс memchr-вызова с помощью std:: и если это не удается, отправьте код, который вызывает проблему.
Ответ 3
Определения препроцессора очень удобны, если вы хотите избежать такой ошибки.
//whatev.h
#ifndef WHATEV
#define WHATEV
// your code here
#endif