On Friday, 26 January 2018 at 21:17:14 UTC, Oleksii Skidan wrote:
struct Game { Triangle player = new Triangle;
When you initialize a struct member like this, compiler tries to calculate the initial value and remember it as data, so each time such struct is constructed the data is just copied. Which means this data must be computable at compile time, however your Triangle constructor is using pointers to some values, these pointers will only be known at run time. This means you need to construct Triangles at run time, in Game constructor, not at compile time in this initialization syntax.