程序如何修改,才能正确跑起来

我的这段程序为什么有6个错误
我用的是VS2008

#include 
int main()
{
    int *p;
    {
        std::unique_ptr<int []>a=std::make_unique<int[]>(50);
        a[2]=25;
    }
    std::cout<2];
    system("pause");
    return 0;
}


```c

错误列表
  C2039: “unique_ptr”: 不是“std”的成员
 C2065: “unique_ptr”: 未声明的标识符
 C2062: 意外的类型“int” 
  “make_unique”: 不是“std”的成员
 C2065: “a”: 未声明的标识符


VS2008版本太低,可能不支持C11
而unique_ptr是C11才有的特性