🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: borland.public.cppbuilder.migration
3 messages
3 total messages Started by Christian Gudrian Wed, 06 Jul 2005 10:17
ClassLib and BCB6
#9
Author: Christian Gudrian
Date: Wed, 06 Jul 2005 10:17
31 lines
1828 bytes
Hello!

I am currently migrating a project from BCB5 to BCB6.  The following
code compiled just fine under BCB5:

,----[ DataList.h ]
#ifndef DataListH
#define DataListH

#include <classlib/listimp.h>

class TData {
};

class TDataList : public TIListImp<TData> {
};
#endif
`----

BCB6, however, fails with a "member identifier expected" error within
listimp.h (line 239, BCB5 Companion CD version).  It is an access
declaration within a template class definition.  BCB6 obviously is not
able to find the parent class's member equivalent.

I've already added the necessary compiler defines to make BCB6 use the
RogueWave STL implementation.

Have there been made any changes in the way templates get instatiated?
Any other hints what might cause these errors?

Christian
Re: ClassLib and BCB6
#10
Author: Christian Gudrian
Date: Wed, 06 Jul 2005 12:52
29 lines
1649 bytes
Christian Gudrian <Christian.Gudrian@gmx.de> writes:

> BCB6, however, fails with a "member identifier expected" error within
> listimp.h

I've been able to create a minimal code snippet that shows the
behaviour:

template <class T> class A
{
public:
   void operator delete(void *ptr) {};
};

template <class T> class B: private A<T>
{
public:
   A<T>::operator delete;
};

class C : B<void>
{
};

Above code compiles under BCB5, but not under BCB6.  The latter one
complains about "operator delete" not being a member of A<T>.  Has the
nomenclature been changed?

Christian
Re: ClassLib and BCB6
#11
Author: Christian Gudrian
Date: Wed, 06 Jul 2005 13:33
19 lines
1604 bytes
Christian Gudrian <Christian.Gudrian@gmx.de> writes:

> Above code compiles under BCB5, but not under BCB6. 

When I use the command line compiler (version 5.6.4) I get the
following error message:

D:\User\CG\Spielwiese\Builder6\OWL-Test>bcc32 -c DataList.cpp
Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland
DataList.cpp:
Assertion failed DataList.h(17) : type->t.td.tdEnclType->tpTopType == T_TMPLDEP at d:\helena\bcc\indep\template.c(8242) 

Line 17 of DataList.h is

   A<T>::operator delete;

Any ideas?

Christian
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads