This is your code:
class B : public A
{
public:
B(int x):A(x); // error here
~B();
}
When you do something like ~B();
you are declarating the existence of the destructor, but since you ended up there (note the ";") you did not define it.
The same goes on the constructor, in the line that you marked you you invoked the super constructor, which is a definition, but you did not provide the method body, which is only expected on declarations.
To fix your problem just leave the declaration as B(int x);
, without specifying how B relates with A, this will be later specified later in the definition.
Calling the super constructor is part of the generated code, the caller does not need to know about that, that why you can declare a constructor without define how it will construct it's super classes.