Array zurückgeben



  • Hi,

    ich gebe aus einer Funktion ein Array mit 6 ints zurück:

    int* getIndices(int startIndex);

    Kann ich irgendwie sichtbar machen, dass da immer ein int[6] geliefert wird?



  • Zeig mal was du vor hast, ich ahne irgendwie, dass das nicht funktioniert. Du könntest auch einen std::vector zurückgeben, spricht da etwas dagegen?

    @Die Langsamen: :p



  • Nein, du übergibst kein Array auf diese Weise, sondern nur einen Zeiger (der vermutlich auf undefinierten Speicher zeigt, nachdem die Funktion hinter sich abgeräumt hat).


  • Mod

    Darf ich mal so dreist sein und behaupten, dass du es sowieso falsch machst und dich erst einmal da drum kümmern solltest?



  • cooky451 schrieb:

    Zeig mal was du vor hast, ich ahne irgendwie, dass das nicht funktioniert. Du könntest auch einen std::vector zurückgeben, spricht da etwas dagegen?

    @Die Langsamen: :p

    Wieso einen vector, wenn die größe konstant ist? Finde ich sinnfrei. Dann eher ein arra<int, 6>. Ich glaub ich returne das Array jetzt einfach als out Parameter.



  • Arraya schrieb:

    Wieso einen vector, wenn die größe konstant ist? Finde ich sinnfrei. Dann eher ein arra<int, 6>. Ich glaub ich returne das Array jetzt einfach als out Parameter.

    Ich ignoriere TR1. 😉



  • cooky451 schrieb:

    Arraya schrieb:

    Wieso einen vector, wenn die größe konstant ist? Finde ich sinnfrei. Dann eher ein arra<int, 6>. Ich glaub ich returne das Array jetzt einfach als out Parameter.

    Ich ignoriere TR1. 😉

    boost::array :p



  • Arraya schrieb:

    ich gebe aus einer Funktion ein Array mit 6 ints zurück:
    int* getIndices(int startIndex);

    Nein, tust Du nicht. Du gibst einen Zeiger zurück. Wo zeigt der denn hin und wie lange lebt das / soll es leben, worauf er zeigt?

    Arraya schrieb:

    Kann ich irgendwie sichtbar machen, dass da immer ein int[6] geliefert wird?

    array<int,6> getIndices(int startIndex);

    ( aus boost:: oder std::tr1:: oder std:: )

    Bei der Gelegenheit möchte ich einen Vortrag empfehlen, den ich gestern gesehen habe. Da geht es um "modernes C++".
    http://www.c-plusplus.net/forum/292795


Anmelden zum Antworten