
JOAQUIN LOPEZ MU?Z wrote:
I'm trying to make Boost.MultiIndex work for MSVC 7.0 an the regression tests show some weird results. I'm suspicious this can be related with a similar problem in MSVC 6.0 having to do with pointers to members being used as template prams.
Would any kind soul with access to MSVC 7.0 run the following test and report the result? TIA
Joaquín M López Muñoz Telefónica, Investigación y Desarrollo
****************** struct pair { int x,y;
pair(int x_,int y_):x(x_),y(y_){} };
template<int pair::* PtrToPairMember> struct foo { int bar(pair& p){return p.*PtrToPairMember;} };
int main() { pair p(0,1); foo<&pair::x> fx; foo<&pair::y> fy;
if(fx.bar(p)!=0||fy.bar(p)!=1)return -1;
return 0; }
Runs with no errors with Vc7. I ran it in strict Ansi mode with Leon Zolman's STLfilt. Running it against Vc6 in strict Ansi mode with STLfilt gives: MultiIndex.cpp(18): error C2964: invalid expression as template parameter