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

Nie mogę wywołać funkcji, - statement has no effect

Ostatnio zmodyfikowano 2021-06-06 22:44
Autor Wiadomość
Creativess
Temat założony przez niniejszego użytkownika
Nie mogę wywołać funkcji, - statement has no effect
» 2021-06-06 20:33:08
Witam
Chciał bym wywołać funkcje z klasy
player.cpp
 kod:
player->attackedSet;
 w klasie
game.cpp
, po próbach kompilator wywala bład:
 error: statement has no effect [-Werror=unused-value]
, jest dosłownie kawałeczek kodu który chce wywołać:

game.cpp

C/C++
if( !player->hasAttacked( attackedPlayer ) ) {
   
player->attackedSet; //ta linijka wskazuje kompilator
}

player.cpp

C/C++
void Player::clearAttacked()
{
   
attackedSet.clear();
}

.h

C/C++
typedef std::set < int32_t > AttackedSet;
AttackedSet attackedSet;
Z góry dziękuje za pomoc.
P-178723
pekfos
» 2021-06-06 22:12:28
Wywołanie ma nawiasy, nie możesz ich pominąć gdy nie ma argumentów.
C/C++
player->attackedSet();
P-178726
Creativess
Temat założony przez niniejszego użytkownika
» 2021-06-06 22:27:42
Po dodaniu nawiasów, wystąpił błąd w kompilacji:
game.cpp: In member function ‘void Game::onPvP(Creature*, Creature*, bool)’:
game.cpp:8672:37: error: no match for call to ‘(Player::AttackedSet {aka std::set<int>}) ()’
                 player->attackedSet();
                                     ^
make: *** [Makefile:23: game.o] Error 1
make: *** Waiting for unfinished jobs....

P-178728
pekfos
» 2021-06-06 22:37:54
A to jest std::set<>.. To co w ogóle chciałeś tam zrobić? Wywołać jakąś konkretną metodę? Aktualnie nie wiadomo jaka była tam intencja programisty. Skoro wspomniałeś o clearAttacked(), to może to powinno być tam użyte? Chyba nieprzypadkowo podałeś kod tej metody?
P-178730
Creativess
Temat założony przez niniejszego użytkownika
» 2021-06-06 22:44:33
Zrezygnowałem z flagi -Werror, tak jak wspominałeś wcześniej, teraz kompilacja przechodzi z ostrzeżeniem, po usunięciu nawiasów, ciężko mi powiedzieć bo to nie ja pisałem tą funkcję, z czasem będę próbował poprawiać source, dziękuje jeszcze raz.
P-178731
« 1 »
  Strona 1 z 1