Nie mogę wywołać funkcji, - statement has no effect
Ostatnio zmodyfikowano 2021-06-06 22:44
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 if( !player->hasAttacked( attackedPlayer ) ) { player->attackedSet; } player.cpp void Player::clearAttacked() { attackedSet.clear(); } .h typedef std::set < int32_t > AttackedSet; AttackedSet attackedSet; Z góry dziękuje za pomoc. |
|
pekfos |
» 2021-06-06 22:12:28 Wywołanie ma nawiasy, nie możesz ich pominąć gdy nie ma argumentów. |
|
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.... |
|
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? |
|
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. |
|
« 1 » |