// Build don't link: 
// GROUPS passed pointers-to-members
class X   {
 private:
  int i;
 public:
  X(int k)			{ i=k; }
  int operator=(X &a)		{ return i = a.i; }
  int operator=(int ii)	{ return i = ii; }
};
int main(void)
{
  int (X::*op1_ptr)(X&);
  op1_ptr = &X::operator=;    // g++ gives error 
  return 0;
}
