I have following code which is not allowed (error below), why?
struct A { private int b; public A(int x) { B = x
Change your constructor to:
public A(int x) : this() { B = x; }
As to "why", refer to 11.3.8 Constructors and 5.3 Definite assignment.