VC7で以下が通らないのはVC7のバグ?それとも俺の思い違い?

#include <iostream>
#include <memory>

class A
{
public:
void Print(void){ std::cout << "OK" << std::endl; }
};

int main()
{
std::auto_ptr< A > ptr( new A() );

void (A::*method)(void) = A::Print;
(ptr->*method)(); // ここや

return 0;
}