/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Problem med Kompilering af gammel VC 6 kod~
Fra : Flare


Dato : 07-09-02 17:50

Hejsa

Jeg har et program som benytter MySQL++ API´en. Men det er ikke så meget
det, Men når jeg compiler den gamel soruce kode i .NET får jeg
følgende(mange) fejlmeddelese:

C2977: 'std::reverse_iterator' : too many template arguments

Er det nu lige pludslig blevet lavet om på brugen af templates i C++ .net?

Pfh
Anders




 
 
Mogens Hansen (07-09-2002)
Kommentar
Fra : Mogens Hansen


Dato : 07-09-02 19:17


"Flare" <dct_flare@hotmail.com> wrote in message
news:3d7a2e4f$0$5591$edfadb0f@dspool01.news.tele.dk...

> C2977: 'std::reverse_iterator' : too many template arguments

Hvordan ser koden ud, hvor den melder fejl ?

> Er det nu lige pludslig blevet lavet om på brugen af templates i C++ .net?

Ja, den er blevet lang mere i overensstemmelse med C++ Standarden.

Venlig hilsen

Mogens Hansen



Flare (08-09-2002)
Kommentar
Fra : Flare


Dato : 08-09-02 18:29

> Hvordan ser koden ud, hvor den melder fejl ?

Sådan her.::
typedef const std::reverse_iterator<const_iterator, ValueType>
const_reverse_iterator; //:

Koden er dog ikke lavet af mig men holdet bag Mysql. Nærmere sagt er det
Mysql++ API´en.

Mvh
Anders



Mogens Hansen (08-09-2002)
Kommentar
Fra : Mogens Hansen


Dato : 08-09-02 20:37


"Flare" <dct_flare@hotmail.com> wrote in message
news:3d7b88d8$0$180$edfadb0f@dspool01.news.tele.dk...
> > Hvordan ser koden ud, hvor den melder fejl ?
>
> Sådan her.::
> typedef const std::reverse_iterator<const_iterator, ValueType>
> const_reverse_iterator; //:

Du kan givetvis fjerne ValueType fra typedef'en, så det bliver:
typedef const std::reverse_iterator<const_iterator>
const_reverse_iterator; //:

Den kan udledes fra "iterator_traits<Iterator>::value_type".

I Standard C++ (vedtaget 14. november 1997 og ratificeret i 1998) hedder
det:
template <class Iterator> class reverse_iterator;
(og i Commitee Draft 2 fra 2. december 1996, men ikke Commitee Draft 1 fra
28. april 1995).

Sådan hedder det også i Microsoft Visual C++ V7.0 (.NET) - og mange andre
compilere (eller rettere implementeringer af Standard Library).

I Microsoft Visual C++ V6.0 hedder det
template<class RanIt,
class T = iterator_traits<RanIt>::value_type,
class Ref = T&,
class Ptr = T *, class Dist = ptrdiff_t>
class reverse_iterator;

Venlig hilsen

Mogens Hansen



Søg
Reklame
Statistik
Spørgsmål : 177485
Tips : 31964
Nyheder : 719565
Indlæg : 6408407
Brugere : 218885

Månedens bedste
Årets bedste
Sidste års bedste