Двунаправленный список c++
как правильно расписать список в main чтобы список стал двунаправленным?
#include "pch.h"
#include <iostream>
using namespace std;
struct List
{
int data;
List *next = 0;
List *prev = 0;
};
List & operator ++ (List &x, int)
{
x = *x.next;
return x;
}
List & operator -- (List &y, int)
{
y = *y.prev;
return y;
}
int main()
{
List *lst = new List();
lst->next = new List();
lst->data = 1;
cout << lst->data << endl;
(*lst)++;
lst->data = 2;
cout << lst->data << endl;
(*lst)++;
lst->data = 3;
cout << lst->data << endl;
system("pause");
}