help-gplusplus
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

template & inheritance problem


From: matrut
Subject: template & inheritance problem
Date: 4 Jul 2006 01:32:30 -0700
User-agent: G2/0.2

I'm using g++ ver. 3.3.6 and got trouble as follows:

template<class T> virtual class CAbstractQueue
{
public:
    CAbstractQueue(void){}
    ~CAbstractQueue(void){}
};

template<class T> class CQueue : public CAbstractQueue<T>
{
public:
    CQueue(void): CAbstractQueue() {}
    ~CQueue(void){}
...
}

and the compiler returns:

main.o(.gnu.linkonce.t._ZN6CQueueIiED1Ev+0x16): In function
`CQueue<int>::~CQueue [in-charge]()':
: undefined reference to `CAbstractQueue::~CAbstractQueue
[not-in-charge]()'
main.o(.gnu.linkonce.t._ZN6CQueueIiEC1Ev+0xd): In function
`CQueue<int>::CQueue[in-charge]()':
: undefined reference to
`CAbstractQueue::CAbstractQueue[not-in-charge]()'
main.o(.gnu.linkonce.t._ZN6CQueueIiED0Ev+0x16): In function
`CQueue<int>::~CQueue [in-charge deleting]()':
: undefined reference to `CAbstractQueue::~CAbstractQueue
[not-in-charge]()'
main.o(.gnu.linkonce.r._ZTI6CQueueIiE+0x8): undefined reference to
`typeinfo for CAbstractQueue'
collect2: ld returned 1 exit status

I've used -fexternal to compile templates but in this case gives no
results. Can anyone give me a hand with that?

Thanks in advance for time and attention,
Matt



reply via email to

[Prev in Thread] Current Thread [Next in Thread]