A static member of a class, even if it is declared with a wrong type 'char', must be initialized with some default value, like:
...
class A
{
public:
static int t;
};
char A::t = 0;
...
So, it looks like there are actually two errors and I'll check what another C/C++ compilers will report. I raise a red-alert and errors like these once are simply not acceptible because the test-case is a classic one.