请问一个指针继承的有关问题

请教一个指针继承的问题
我有一个类:
class   A   (unsigned   char*   bufferIn)
{
public:
    ...
    A(unsigned   char*   bufferIn);
    void   func1();
protected:
    ...
    unsigned   char*   buffer;   //指针,指向一个全局的数组
}  
...
A::A(unsigned   char*   bufferIn)
:bufffer(bufferIn)
{
    ...
}

void   A::func1()
{
    unsigned   pos   =   0;
    unsigned   temp   =   *(buffer+pos);   //在这里没有错误
    ...
}

还有一个类B继承了A:
class   B   :   class   A
{
    ...
    void   func2();
    ...
}

B::B(unsigned   char*   bufferIn)
:   A(bufferIn)
{
    ...
}

void   B::func2()
{
    unsigned   pos   =   0;
    unsigned   temp   =   *(buffer+pos);  
//在这里就发生了错误。不知是为什么?又该如何处理呢?谢谢!
    ...
}

------解决方案--------------------
啥错?
------解决方案--------------------
错误是什么?
class B : class A
改成
class B : public class A
试试。
------解决方案--------------------
class A (unsigned char* bufferIn) //这是什么?
{
public:
...
A(unsigned char* bufferIn);
void func1();
protected:
...
unsigned char* buffer; //指针,指向一个全局的数组
}

------解决方案--------------------
应该是你上面的语法问题,请检查看看哪里写错了
根据错误提示来查错
------解决方案--------------------
A::A(unsigned char* bufferIn)
:bufffer(bufferIn)
{
...
}
初始化类表正确!
所以下面正确
void A::func1()
{
unsigned pos = 0;
unsigned temp = *(buffer+pos); //在这里没有错误
...
}

// 初始化列表错误:

B::B(unsigned char* bufferIn)
: A(bufferIn)
{
...
}

所以
void B::func2()
{
unsigned pos = 0;
unsigned temp = *(buffer+pos);
//在这里就发生了错误。不知是为什么?又该如何处理呢?谢谢!
...
}