Opened 19 years ago
Closed 17 years ago
#232 closed Bugs (Wont Fix)
Compiling problems with Regex / MSVC++ 7
| Reported by: | johneddy | Owned by: | John Maddock | 
|---|---|---|---|
| Milestone: | Component: | regex | |
| Version: | None | Severity: | |
| Keywords: | Cc: | 
Description
hello 
VC++ will not compile the following code with the
newest version of the regex library whereas it would
with the previous version (g++ 3.2.2 does not have a
problem with it).
#include <locale>
using namespace std;
#include <boost/regex.hpp>
int main (int argc, char **argv) { return 0; }
The error produced is:
regbase.hpp(120) : error C2955: 'std::collate' : use of
class template requires template argument list
The offending line of code is inside an enumeration
declaration and looks like this:
collate = ::boost::regbase::collate,
It seems that VC++ cannot resolve the difference
between the enumeration constant and the STL collate
class.  The same error can be produced with the
following code (or anything like it).
#include <vector>
using namespace std;
enum SomeEnum {  vector = 0  };
int main (int argc, char **argv) { return 0; }
I cannot think of a good way around this short of
changing the collate constant name and re-building. 
The examples are boiled down and it would not be
possible for me to change the order of the includes nor
would it be easy  remove the using delcaration.
John
      Change History (4)
comment:1 by , 19 years ago
| Summary: | Compiling problems with MSVC++ 7 → Compiling problems with Regex / MSVC++ 7 | 
|---|
comment:3 by , 18 years ago
Logged In: YES user_id=1243119 Hello John Maddock, I am working with MSVStudio .NET 2000 and therefore I tried using option 2 in the solution you propose. But that does not seem to help either. Any thoughts... Cheers Ramanand
comment:4 by , 17 years ago
| Status: | assigned → closed | 
|---|
Logged In: YES user_id=14804 I'm closing this issue, as it appears to be unfixable (and relates to an obsolete compiler). John Maddock
  Note:
 See   TracTickets
 for help on using tickets.
    