This is becase when the child class is instantiated, it will also instantiate the base class. By default, it will try to find a arg less constructor. This is work with this code:
class Base
{
public Base(int x) { }
}
class Derived : Base
{
public Derived(int x)
: base(x)
{
}
}