Re: MSVC C++ problems

From: Serassio Guido <guido.serassio@dont-contact.us>
Date: Tue, 15 Jul 2003 22:43:09 +0200

Hi Robert,

Il 22.31 14/07/2003 Robert Collins ha scritto:

>On Tue, 2003-07-15 at 04:46, Serassio Guido wrote:
> > Hi Robert,
> >
> > Il 00.41 14/07/2003 Robert Collins ha scritto:
>
> > >try changing ESIElement from a struct to a class, and add public: at the
>
>
> > Works.
>
>Committed.
>
> > > > cbdata.cc
>
> > This works too. There is another similar thing in comm.cc that works too.
>
>Both have already been committed to HEAD.
>
> > > > store.cc
>
> >
> > I don't have still tried this (as in your other e-mail).
> > Now I'm idle because my home ADSL connection is down.
>
>Thats ok, I've committed my type safe Stack anyway, as it is a good
>thing regardless of MSVC.

It seems to be fine on MSVC.

>Please update to HEAD when possible and see whats left to fix..

Done, only 57 errors left ....
Yesterday the errors are more then 300 .....

Some interesting things:

MSVC seems don't like constructs like this:

template <class MatchType>
MemPool (*ACLStrategised<MatchType>::Pool)(NULL);

this syntax works:

template <class MatchType>
MemPool *ACLStrategised<MatchType>::Pool = NULL;

Any hints ?

This seems to be the biggest left problem :

delay_pools.cc
c:\work\nt-3.0\src\delayvector.h(69) : error C2629: unexpected 'class
DelayVector::Id ('
c:\work\nt-3.0\src\delayvector.h(69) : error C2238: unexpected token(s)
preceding ';'
c:\work\nt-3.0\src\delayvector.h(76) : error C2027: use of undefined type
'DelayVector'
         c:\work\nt-3.0\src\delayvector.h(41) : see declaration of
'DelayVector'
c:\work\nt-3.0\src\delayuser.h(94) : error C2629: unexpected 'class
DelayUser::Id ('
c:\work\nt-3.0\src\delayuser.h(94) : error C2238: unexpected token(s)
preceding ';'
c:\work\nt-3.0\src\delayuser.h(100) : error C2027: use of undefined type
'DelayUser'
         c:\work\nt-3.0\src\delayuser.h(68) : see declaration of 'DelayUser'
c:\work\nt-3.0\src\delaytagged.h(94) : error C2629: unexpected 'class
DelayTagged::Id ('
c:\work\nt-3.0\src\delaytagged.h(94) : error C2238: unexpected token(s)
preceding ';'
c:\work\nt-3.0\src\delaytagged.h(101) : error C2027: use of undefined type
'DelayTagged'
         c:\work\nt-3.0\src\delaytagged.h(68) : see declaration of
'DelayTagged'
c:\work\nt-3.0\src\delay_pools.cc(95) : error C2838: illegal qualified name
in member declaration
c:\work\nt-3.0\src\delay_pools.cc(101) : error C2027: use of undefined type
'Aggregate'
         c:\work\nt-3.0\src\delay_pools.cc(65) : see declaration of 'Aggregate'
c:\work\nt-3.0\src\delay_pools.cc(165) : error C2629: unexpected 'class
VectorPool::Id ('
c:\work\nt-3.0\src\delay_pools.cc(165) : error C2238: unexpected token(s)
preceding ';'
c:\work\nt-3.0\src\delay_pools.cc(170) : error C2027: use of undefined type
'VectorPool'
         c:\work\nt-3.0\src\delay_pools.cc(131) : see declaration of
'VectorPool'
c:\work\nt-3.0\src\delay_pools.cc(262) : error C2629: unexpected 'class
ClassCHostPool::Id ('
c:\work\nt-3.0\src\delay_pools.cc(262) : error C2238: unexpected token(s)
preceding ';'
c:\work\nt-3.0\src\delay_pools.cc(267) : error C2027: use of undefined type
'ClassCHostPool'
         c:\work\nt-3.0\src\delay_pools.cc(222) : see declaration of
'ClassCHostPool'
c:\work\nt-3.0\src\delay_pools.cc(520) : error C2664: '__thiscall
Aggregate::AggregateId::Aggregate::AggregateId(const class
Aggregate::AggregateId &)' : cannot convert parameter 1 from 'class
Aggregate *const ' to 'const class Aggregate::AggregateI
d &'
         Reason: cannot convert from 'class Aggregate *const ' to 'const
class Aggregate::AggregateId'
         No constructor could take the source type, or constructor overload
resolution was ambiguous
c:\work\nt-3.0\src\delay_pools.cc(545) : error C2511:
'AggregateId::AggregateId' : overloaded member function 'void (class
RefCount<class Aggregate>)' not found in 'Aggregate::AggregateId'
         c:\work\nt-3.0\src\delay_pools.cc(88) : see declaration of
'AggregateId'
c:\work\nt-3.0\src\delay_pools.cc(1059) : fatal error C1004: unexpected end
of file found

the same on the others delay pools files

Other problem:

acl.cc
c:\work\nt-3.0\src\acl.cc(348) : error C2059: syntax error : 'new'
c:\work\nt-3.0\src\acl.cc(351) : error C2227: left of '->negated' must
point to class/struct/union
c:\work\nt-3.0\src\acl.cc(362) : error C2227: left of '->deleteSelf' must
point to class/struct/union
c:\work\nt-3.0\src\acl.cc(366) : error C2227: left of '->_acl' must point
to class/struct/union
c:\work\nt-3.0\src\acl.cc(367) : error C2440: '=' : cannot convert from
'class ACLList *(__cdecl *)(void)' to 'class ACLList *'
         There is no context in which this conversion is possible
c:\work\nt-3.0\src\acl.cc(368) : error C2227: left of '->next' must point
to class/struct/union
c:\work\nt-3.0\src\acl.cc(693) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class ACLList *const ' to 'void *'
         Conversion loses qualifiers
c:\work\nt-3.0\src\acl.cc(716) : error C2664: 'delete' : cannot convert
parameter 1 from 'const class acl_access *const ' to 'void *'
         Conversion loses qualifiers

Regards

Guido

-
========================================================
Guido Serassio
Acme Consulting S.r.l.
Via Gorizia, 69 10136 - Torino - ITALY
Tel. : +39.011.3249426 Fax. : +39.011.3293665
Email: guido.serassio@acmeconsulting.it
WWW: http://www.acmeconsulting.it/
Received on Tue Jul 15 2003 - 14:43:52 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:17 MST