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

[C++]Funkcja kończy się zamiast zwracać elementy tabeli

Ostatnio zmodyfikowano 2015-12-28 16:24
Autor Wiadomość
Burto
Temat założony przez niniejszego użytkownika
[C++]Funkcja kończy się zamiast zwracać elementy tabeli
» 2015-12-28 15:30:26
Witam.
Próbuję napisać funkcję która zwróci wszystkie elementy tabeli przy pomocy return:

C/C++
sf::FloatRect kolizje[ 5000 ];

sf::FloatRect TabelaKolizji()
{
    for( int i = 0; i < sizeof( kolizje ) - 1; i++ )
    {
        std::cout << "Przed return\n";
        return kolizje[ i ];
        std::cout << "Po return\n";
    }
}

int main()
{
    //...
    kolizje[ 50 ] = { sciana1.getGlobalBounds(), /*...*/ };
    //...
}

Niestety funkcja kończy się w momencie zwracania wartości kolizje.
P-142468
carlosmay
» 2015-12-28 15:44:59
return kolizje[ i ];
 tak zwraca wartość tego konkretnego elementu.
Jak ma być całość, to przekaż tablicę i ją nadpisz lub utwórz dynamicznie tablicę i zwróć wskaźnik na tą tablicę.

Niestety funkcja kończy się w momencie zwracania wartości kolizje.
Do tego służy słowo kluczowe return .
P-142470
Burto
Temat założony przez niniejszego użytkownika
» 2015-12-28 16:16:05
Dziękuję za pomoc, lecz w programowaniu jestem nowy i nie bardzo wiem jak mam to zrobić. Czy mógłbym prosić o jakiś poradnik w jaki sposób mam to wykonać?
P-142472
Gibas11
» 2015-12-28 16:24:08
Zakładam, że ilość elementów się waha? Użyj
std::vector < sf::FloatRect >
 z
#include <vector>
.
P-142473
« 1 »
  Strona 1 z 1