在c++中,怎么输出已知a前面的N个数?(从小到大输出)

这个是我自己写的代码,但是有报错
#include<iostream>
#include<list>
using namespace std;
int main(){
    int a,n = 0;
    cin >> a, n;
    list<int>numbers; 
    for (a ; ; a+=1){
        Numbers.assign(n-a);
    }
    std::cout << Numbers << endl;
    return 0;
}

demo.cpp: In function ‘int main()’:
demo.cpp:9:3: error: ‘Numbers’ was not declared in this scope
Numbers.assign(n-a);
^
demo.cpp:11:15: error: ‘Numbers’ was not declared in this scope
std::cout << Numbers << endl;
^

我的解答思路和尝试过的方法

想用list来实现的

我想要达到的结果

输入 10 4
输出 6 7 8 9

直接这样不行吗?

#include <iostream>
using namespace std;

int main()
{
    int a, n;
    cin >> a >> n;
    for (int i = a - n; i < a; i++)
    {
        cout << i << " ";
    }
    return 0;
}

列表容器需要用到迭代器遍历输出的:

#include<iostream>
#include<list>
using namespace std;
int main(){
    int a,n = 0;
    list<int>Numbers; 
    cin>>a>>n;
    for (int i=1; i<=n; i++){
        Numbers.push_front(a-i);
    }
    list<int>::iterator it;
    for (it=Numbers.begin();it!=Numbers.end();it++){
        cout<<*it<<' ';
    }
    cout<<endl;
    return 0;
}