关于内存方面的问题求大神解释

这个程序运行不出结果,error怎么解释呀

void foo(int a)
{
cout << a << endl;
}
int main()
{
int *b = new int;
foo(*b);
*b = 5;
foo(*b);
b--;
foo(*b);
b++;
(*b)--;
foo(*b);
foo(reinterpret_cast(b));
return 0;
}

问题解决的话,请点下采纳

#include <iostream>
using namespace std;

void foo(int a)
{
cout << a << endl;
}
int main()
{
int *b = new int;
foo(*b);
*b = 5;
foo(*b);
b--;
foo(*b);
b++;
(*b)--;
foo(*b);
foo(reinterpret_cast<int>(*b)); //这里修改
return 0;
}