Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Błąd przy użyciu metody erase klasy vector

Ostatnio zmodyfikowano 2015-07-15 02:19
Autor Wiadomość
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:
C/C++
for( size_t i = 0; i < publisher.size(); i++ )
{
    if( publisher[ i ] == ptrFunction )
    {
        publisher.erase( i );
        return;
    }
}
P-134682
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.
P-134683
« 1 »
  Strona 1 z 1