Błąd przy użyciu metody erase klasy vector
Ostatnio zmodyfikowano 2015-07-15 02:19
patrakus Temat założony przez niniejszego użytkownika |
Błąd przy użyciu metody erase klasy vector » 2015-07-15 01:41:31 Dostaje taką informację od kompilatora kiedy staram się wykorzystać swój obiekt, który przechowuje wskaźniki do funkcji. 25 IntelliSense: no instance of overloaded function "std::vector<_Ty, _Alloc>::erase [with _Ty=void *(const sf::Event *), _Alloc=std::allocator<void *(const sf::Event *)>]" matches the argument list argument types are: (size_t) object type is: std::vector<void *(const sf::Event *), std::allocator<void *(const sf::Event *)>> d:\Visual Studio 2013\Projects\wlasne skrypty\wlasne skrypty\KeyboardAndMouseEventHandler.cpp 38 13
Taką mam deklaracje obiektu: std::vector < void *( const sf::Event * const ) > publisher; A tu definicja metody w której wywołuje metodę erase: for( size_t i = 0; i < publisher.size(); i++ ) { if( publisher[ i ] == ptrFunction ) { publisher.erase( i ); return; } } |
|
patrakus Temat założony przez niniejszego użytkownika |
» 2015-07-15 02:19:40 Znalazłem już rozwiązanie. Wystarczyło zamiast typu size_t użyć iteratora z klasy vector. |
|
« 1 » |