Ошибка C2039: 'memchr': не является членом `` глобального пространства имен ''

Прошло довольно много времени, так как я получаю эту ошибку в стандарте <cstring> заголовочный файл без видимых причин. Поисковый поиск Google привел много ответов, но ни один из них не работал.

Ответ 1

Хорошо, я сам это исправил. Это была глупая ошибка! У меня есть файл под названием "String.h" в проекте библиотеки, который подбирается с помощью <cstring> заголовок. Вероятно, потому что я добавил путь к < String.h > как дополнительный каталог include в моем тестовом проекте (где я получаю эту ошибку.) Надеюсь, это поможет кому-то.

Ответ 2

Ваш компилятор может (правильно) помещать функцию memchr в пространство имен std С++. Попробуйте префикс memchr-вызова с помощью std:: и если это не удается, отправьте код, который вызывает проблему.

Ответ 3

Определения препроцессора очень удобны, если вы хотите избежать такой ошибки.

//whatev.h
#ifndef WHATEV
#define WHATEV

// your code here

#endif