17

It has been quite a while since I am getting this error in the standard <cstring> header file for no apparent reason. A google search brought up many answers but none of them worked.

Sandeep Datta
  • 28,607
  • 15
  • 70
  • 90

3 Answers3

35

Ok I fixed it myself. It was a stupid mistake! I have a file called "String.h" in a library project which is being picked up by the <cstring> header. Probably because I have added the path to <String.h> as an additional include directory in my test project (where I am getting this error.) Hope this helps someone.

Sandeep Datta
  • 28,607
  • 15
  • 70
  • 90
1

Your compiler may be (correctly) placing the memchr function in the C++ std namespace. Try prefixing memchr call with std:: and if that fails, post the code that causes the problem.

-5

Preprocessor defines are pretty handy when you want to avoid this sort of mistake.

//whatev.h
#ifndef WHATEV
#define WHATEV

// your code here

#endif
  • 2
    prefer using `#pragma once` since I exclusively work with MS compilers. But in any case this is not the reason why I got the error. – Sandeep Datta Feb 10 '09 at 21:59