Opened 11 years ago

Closed 11 years ago

#6623 closed Bugs (worksforme)

Build fails in MSVC 2010 with 'isspace' : is not a member of 'std'

Reported by: anonymous Owned by: Joel de Guzman
Milestone: To Be Determined Component: spirit
Version: Boost 1.48.0 Severity: Problem
Keywords: Cc:

Description

Build fails in MSVC 2010 with:

C:\include\boost\spirit\home\support\char_encoding\standard.hpp(98) : error C2039: 'isspace' : is not a member of 'std'

If #include <locale> is added after #include <cctype> then the following error occurs:

c:\include\boost\spirit\home\support\char_encoding\standard.hpp(99) : error C2780: 'bool std::isspace(_Elem,const std::locale &)' : expects 2 arguments - 1 provided

So there is a locale specific version. However, it appears that there should be a non-locale specific version, especially since no other std function referenced from <cctype> seems to have a problem:

http://msdn.microsoft.com/en-us/library/f9xkk9fk.aspx

replacing line 98 with:

return ::isspace(ch);

allows it to compile, but I don't know where it is pulling the function from.

Change History (2)

comment:1 by anonymous, 11 years ago

Component: Nonespirit
Owner: set to Joel de Guzman

comment:2 by Joel de Guzman, 11 years ago

Resolution: worksforme
Status: newclosed

This does not look like a Spirit bug. I suggest you discuss this over to the Spirit mailing list with a minimal cpp file that exhibits the problem, as per Spirit's support policy:

http://boost-spirit.com/home/feedback-and-support/

I'm going to close this ticket for now.

Note: See TracTickets for help on using tickets.