[C++] Template error

Pagina: 1
Acties:

  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 15:16
Ik heb de volgende code voor mijn template:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
template <class Invoer>
string Codeer( Invoer first, Invoer last ){
  stack<char> code1;
  deque<char> code2;

  while( first != last){
    if(*first =='a' ||*first=='e' ||*first=='i' ||*first=='o' ||*first=='u' ||*first=='y'){
        while( !code1.empty() ){
          code2.push_back( code1.top() );
          code1.pop();
        }
        code2.push_back(*first);
        ++first;
    }else{
        code1.push(*first);
        ++first;
    }
  }
  while( !code1.empty() ){
    code2.push_back( code1.top() );
    code1.pop();
  }
//fase2
  string output;
  while( !code2.empty() ){
    if( !code2.empty() ){
        output.push_back( code2.front() );
        code2.pop_front();
    }
    if( !code2.empty() ){
        output.push_back( code2.back()  );
        code2.pop_back();
    }
  }
  return output;
}

Maar hij geeft dan een foutmelding.
(C++ error: E2428 Templates must be classes or functions.)
Maar als ik voor de gein string verander in bool werkt het wel!! (met een false bool return, voor de wijzen (8> ). Wat is/doe ik fout??
P.S. Ik gebruik Borland C++ Builder 4.

let the past be the past.


  • SPee
  • Registratie: Oktober 2001
  • Laatst online: 15:16
Niemand die een oplossing weet :?

let the past be the past.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 08 maart 2002 14:00 schreef SPee het volgende:
Niemand die een oplossing weet :?
Hoi,
[topic=327241/1/25]
Policy mbt het omhoogschoppen van threads. Wacht minstens 24 uur voor je je topic omhoog schopt. Doe dit dan ook alleen met een zinnige opmerking en dus niet met "Waarom antwoord er nou niemand" nadat je 5 minuten geen antwoord hebt gehad. Sommigen van ons hebben een leven :+
tnx

Doet iets met Cloud (MS/IBM)


Verwijderd

#include <string> vergeten? Of anders probeer eens std::string ivm. namespacing. (Je geeft nogal summiere info.)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 11-09 18:38
Het probleem is string:
Na "template < typename Invoer >" moet of een functie-declaratie komen ( en die beginnen met een type ), of een class-declaratie ( en die beginnen met class of struct ). Aangezien "string" geen van beiden is, is de code fout.

Met type bool is het dus wel een geldige functie

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein