这个怎么改(QAQ)C4700 使用了未初始化的局部变量“n”

问题遇到的现象和发生背景 C4700 使用了未初始化的局部变量“n”
问题相关代码,请勿粘贴截图
//计算表达式y=2^n+1 的值
#include<iostream>
using namespace std;
int main()
{
    int n, y;
    y = 2 ^ n + 1;
    cin >> n;
    cout << y;
    return 0;
}

运行结果及报错内容

严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4700 使用了未初始化的局部变量“n” Project4 D:\Project4\Project4\源.cpp 6

我的解答思路和尝试过的方法
我想要达到的结果

输入格式:
输入-10~10 范围内的一个整数。
输出格式:
输出计算的y值。
输入样例:
2
输出样例:
5

初始化n和y,另外n的输入放在计算公式前面,

#include<iostream>
using namespace std;
int main()
{
    int n=0, y=0;
    cin >> n;
    y = 2 ^ n + 1;
    
    cout << y;
    return 0;
}

还有^是按位异或运算,不是幂运算,所以还得改

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n=0, y=0;
    cin >> n;
    y = pow(2,n)+1;
    
    cout << y;
    return 0;
}