Here is a smaller test case:

Jim

#include <iostream>

class base
{

};

class clone : public base
{
protected:
        base *cloned;
public:
        clone(base *_cloned) : cloned(_cloned) { }

};

class derive : public base
{

};

class cloner : public clone
{
        derive *&foo;

public:
        cloner() : clone(0), foo(static_cast<derive*>(cloned)) {  
                printf("%p:%p\n", &cloned, &foo); }
};

int main(int argc, char *argv[])
{
        cloner bar;
        return 0;
}


Reply via email to