[C++]standaard algoritme find niet bekend bij MSVC++ 6

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

  • AaroN
  • Registratie: Februari 2001
  • Laatst online: 16-08-2023

AaroN

JayGTeam (213177)

Topicstarter
Zoals de titel al een beetje aangeeft:
Als ik de volgende code invoer in mijn progsel in MS VC++ 6 Professional
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <vector>
using namespace std;

int main()
{
      vector<int> v(10,0);
    
      vector<int>::iterator j = v.begin();
      j += 4;
      *j++ = 7;  // or v[4] = 7;
      *j = 9;    // or v[5] = 9;

      vector<int>::const_iterator where = find(v.begin(), v.end(), 9);
      return 0;
}

krijg ik de volgende foutmelding bij het compilen:
code:
1
error C2065: 'find' : undeclared identifier


Terwijl find(..,..,..) toch duidelijk wordt gegeven in mij boek The C++ Programming Language van Bjarne Stroustrup (p. 57 van de Special edition). Er staat ook duidelijk bij dat dit algoritme standaard is. Ik weet niet wat ik fout doe en heb ook op msdn gezocht alsmede op GoT. Misschien een bekend probleem voor iemand? Of ligt het gewoon aan MSVC++ :?

ps Heb alle overbodige shit er ff uitgemieterd, dus wat ik met de iterator "where" wou gaan doen, zeg maar ;)

JayGTeam (213177)


Verwijderd

#include <algorithm>

  • whoami
  • Registratie: December 2000
  • Laatst online: 10:21

Het staat toch echt mooi in de msdn hoor.
Requirements
Header: <algorithm>
In't vervolg dit eerst even checken...

https://fgheysels.github.io/


  • DolleDries
  • Registratie: Oktober 2000
  • Laatst online: 22-08 11:46
Wellicht handig om er vector<int>::const_iterator where = v.find(v.begin(), v.end(), 9); van te maken ?

Dan weet de compiler ook waar find by hoort :)

(misschien wat simplistisch bedacht .. maar zo lang ben ik ook nog niet bezig met stl)

  • AaroN
  • Registratie: Februari 2001
  • Laatst online: 16-08-2023

AaroN

JayGTeam (213177)

Topicstarter
damn, beetje dom ja. had er even overheen gelezen.
En hij doet het ja. :)

had namelijk voorbeelden gezien op internet waar iets van #include <algo.h> (deze werkt dus niet) in stond en zelfs zonder includes, begreep het al niet helemaal meer.

DolleDries >= find hoort niet bij vector en is geen methode uit de vector class
find is een "algemene template methode", als ik het zo mag noemen ;)
MSVC++ geeft dit ==>
code:
1
error C2039: 'find' : is not a member of 'vector<int,class std::allocator<int> >

Zie ook hier op msdn waar ik dus overheen zag.

JayGTeam (213177)


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 11:37

.oisyn

Moderator Devschuur®

Demotivational Speaker

RTFM dus :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1

Dit topic is gesloten.