P
prakash.mirji
Hello,
I am trying to compile C++ code which uses rogue wave 9.0 classes on
RHEL
4.0. I use gnu g++ compiler to compile the code.
Compiler is not able to match the right type of parameters to overload
the
methods of RW classes.
Below are the two methods among others in the rw/ep_scntn.h header
file
where compiler says cannot be overloaded.
RWBoolean contains(RWBoolean(*fn)(const_value,void*),void* x) const;
RWBoolean contains(RWBoolean(*fn)(value_type,void*),void* x) const
{ return base_type::contains(fn,x); }
Compiler is treating the first parameter in above methods as same.
When I issue a make command from one of our c++ module, I get below
error
/usr/bin/g++ -g -fpic -D_POSIX_SOURCE -DTRACING -D__EXTENSIONS__ -
D__RWCOMPILER_H__
-D_REENTRANT -D_RWCONFIG=8s -D_RWCONFIG_12d -D_RWSTDDEBUG -
DRWDEBUG -c
TrackListMap.C -I../inc -I/psalms/common/inc -I/psalms/common/Map/inc -
I/psalms/common/Scan/inc
-I/opt/ossasn1/linux-glibc2.2.trial/8.2.0-betaA/include -I/psalms/
common/ASNFw2/sep/inc
-I/psalms/common/DbFw/inc -I/psalms/common/DbFwMgr/inc -I/psalms/
common/Time/inc
-I/psalms/common/LoggingFw/inc -I/psalms/common/ExcepFw/inc -I/psalms/
common/ConfigFw/inc
-I/psalms/common/SdtArm/inc -I/opt/RogueWave/SourcePro -o
TrackListMap.o
In file included from ../inc/TrackListMap.h:18,
from TrackListMap.C:15:
/opt/RogueWave/SourcePro/rw/ep_scntn.h: In instantiation of
`RW_PCntnr<std::vector<const RWCString*, std::allocator<const
RWCString*> >,
/opt/RogueWave/SourcePro/rw/ep_seq.h:50: instantiated from
`RW_PSeq<std::vector<const RWCString*, std::allocator<const
RWCString*> >,
/opt/RogueWave/SourcePro/rw/tpordvec.h:65: instantiated from
/opt/RogueWave/SourcePro/rw/ep_scntn.h:92: error: `RWBoolean
RW_PCntnr<StdColl, RWColl, T>::contains(RWBoolean (*)(typename
StdColl::value_type, void*), void*) const [with StdColl =
std::vector<const
T>::contains(RWBoolean (*)(const T*, void*), void*) const [with
StdColl =
std::vector<const RWCString*, std::allocator<const RWCString*> >,
RWColl =
/opt/RogueWave/SourcePro/rw/ep_scntn.cc:96: error: `typename
RW_PCntnr<StdColl, RWColl, T>::value_type RW_PCntnr<StdColl, RWColl,
T>::find(RWBoolean (*)(typename StdColl::value_type, void*), void*)
const
[with StdColl = std::vector<const RWCString*, std::allocator<const
RWCString*> >, RWColl = RWTPtrOrderedVector<const RWCString,
std::allocator<const RWCString*> >, T = const RWCString]' and
`typename
RW_PCntnr<StdColl, RWColl, T>::value_type RW_PCntnr<StdColl, RWColl,
T>::find(RWBoolean (*)(const T*, void*), void*) const [with StdColl =
std::vector<const RWCString*, std::allocator<const RWCString*> >,
RWColl =
..........................
...........................
any idea why we get above error. and how to fix the same.
Thanks & Regards,
Prakash
I am trying to compile C++ code which uses rogue wave 9.0 classes on
RHEL
4.0. I use gnu g++ compiler to compile the code.
Compiler is not able to match the right type of parameters to overload
the
methods of RW classes.
Below are the two methods among others in the rw/ep_scntn.h header
file
where compiler says cannot be overloaded.
RWBoolean contains(RWBoolean(*fn)(const_value,void*),void* x) const;
RWBoolean contains(RWBoolean(*fn)(value_type,void*),void* x) const
{ return base_type::contains(fn,x); }
Compiler is treating the first parameter in above methods as same.
When I issue a make command from one of our c++ module, I get below
error
/usr/bin/g++ -g -fpic -D_POSIX_SOURCE -DTRACING -D__EXTENSIONS__ -
D__RWCOMPILER_H__
-D_REENTRANT -D_RWCONFIG=8s -D_RWCONFIG_12d -D_RWSTDDEBUG -
DRWDEBUG -c
TrackListMap.C -I../inc -I/psalms/common/inc -I/psalms/common/Map/inc -
I/psalms/common/Scan/inc
-I/opt/ossasn1/linux-glibc2.2.trial/8.2.0-betaA/include -I/psalms/
common/ASNFw2/sep/inc
-I/psalms/common/DbFw/inc -I/psalms/common/DbFwMgr/inc -I/psalms/
common/Time/inc
-I/psalms/common/LoggingFw/inc -I/psalms/common/ExcepFw/inc -I/psalms/
common/ConfigFw/inc
-I/psalms/common/SdtArm/inc -I/opt/RogueWave/SourcePro -o
TrackListMap.o
In file included from ../inc/TrackListMap.h:18,
from TrackListMap.C:15:
/opt/RogueWave/SourcePro/rw/ep_scntn.h: In instantiation of
`RW_PCntnr<std::vector<const RWCString*, std::allocator<const
RWCString*> >,
const RWCString>':RWTPtrOrderedVector said:
/opt/RogueWave/SourcePro/rw/ep_seq.h:50: instantiated from
`RW_PSeq<std::vector<const RWCString*, std::allocator<const
RWCString*> >,
const RWCString>'RWTPtrOrderedVector said:
/opt/RogueWave/SourcePro/rw/tpordvec.h:65: instantiated from
/psalms/common/Map/inc/MapFile.h:27: instantiated from here`RWTPtrOrderedVector said:
/opt/RogueWave/SourcePro/rw/ep_scntn.h:92: error: `RWBoolean
RW_PCntnr<StdColl, RWColl, T>::contains(RWBoolean (*)(typename
StdColl::value_type, void*), void*) const [with StdColl =
std::vector<const
const RWCString]' and `RWBoolean RW_PCntnr<StdColl, RWColl,RWColl = said:, T =
T>::contains(RWBoolean (*)(const T*, void*), void*) const [with
StdColl =
std::vector<const RWCString*, std::allocator<const RWCString*> >,
RWColl =
const RWCString]' cannot be overloadedRWTPtrOrderedVector said:, T =
/opt/RogueWave/SourcePro/rw/ep_scntn.cc:96: error: `typename
RW_PCntnr<StdColl, RWColl, T>::value_type RW_PCntnr<StdColl, RWColl,
T>::find(RWBoolean (*)(typename StdColl::value_type, void*), void*)
const
[with StdColl = std::vector<const RWCString*, std::allocator<const
RWCString*> >, RWColl = RWTPtrOrderedVector<const RWCString,
std::allocator<const RWCString*> >, T = const RWCString]' and
`typename
RW_PCntnr<StdColl, RWColl, T>::value_type RW_PCntnr<StdColl, RWColl,
T>::find(RWBoolean (*)(const T*, void*), void*) const [with StdColl =
std::vector<const RWCString*, std::allocator<const RWCString*> >,
RWColl =
const RWCString]' cannot be overloadedRWTPtrOrderedVector said:, T =
..........................
...........................
any idea why we get above error. and how to fix the same.
Thanks & Regards,
Prakash