这个程序使用auto_ptr怎么不报错??
#include <iostream>#include <memory>using namespace std;void bad_print(auto_ptr<int> &a){ if(a.get() == NULL) cout << "NULL"; else cout << *a;}int main(){ auto_ptr<int> p(new int(100)); *p = 42; bad_print(p); *p = 18; // 报错? return 0;}