what is wrong with this code?

class foo
{
public:
foo();
foo(some_S x, int y);
~foo();
}

class fooTest : public foo
{
}

test()
{
some_S x = something;
int y = 0;
fooTest fTest(x, y);
}