On 09/25/2013 06:39 AM, Amos Jeffries wrote:
> As some of you know I have been working with a sponsor to get Windows
> builds going again this year.
> 
> Visual Studio is giving me a strange error though in our SquidString.h
> code:
>    error C2057: expected constant expression
> 
> this is occuring on the code line:
>    statis const size_type npos = std::string::npos;
> 
> any ideas about how to solve this one properly? for now we are having to
> just define it as -1 by looking up the VC header files definitions of
> std::string::npos manually.


There is a long discussion about this at


http://compgroups.net/comp.lang.c++/isn-t-std-string-npos-an-integral-constant/1043674

There are a couple of interesting explanations offered, including
allegations of an STL implementation bug, but no final resolution (and
the explanations may not apply to our specific case).


Suggestions:

1) Try moving String::npos initialization into String.cc.

2) If #1 alone does not help, try #1 with casted -1 instead of npos.


HTH,

Alex.

Reply via email to