I want to create a list of objects, by only saving a pointer to the very next object in each object.
#include <iostream>
class A
{
int v;
A *next;
public:
A(int temp):v(temp) {}
A* createNext()
{
A temp(v+1);
next = &temp;
return next;
}
int getv(){return v;}
};
int main()
{
A first(0);
A * next = first.createNext();
std::cout << next->getv() << "\n";
next = next->createNext();
std::cout << next->getv() << "\n";
}
When i execute this Programm, it gives me consistently a 1 for the first cout, but the second is a random number out of the range of an integer.