int* buff umwandeln in const int[]?



  • Hallo zusammen,

    ich hab hier ein mittelschwerde Problem. In einem gemeinschafts-Project habe ich eine Funktion zu implementieren, die als input Parameter ein 'const int inParam[]' hat. Mit diesem Typ habe ich noch überhaupt garnicht gearbeiten.

    Mein Testprogramm (für die Funktion) arbeiten mit 'int* buff' das kann ich ja bequem auch als array benutzen, nur dummerweise kann ich das so nicht übergeben?

    Hat jemand einen Tip, ohne dass ich meine jetzige Testumgebung komplett umgestallten muss?

    Gruss mathi



  • Mein Testprogramm (für die Funktion) arbeiten mit 'int* buff' das kann ich ja bequem auch als array benutzen, nur dummerweise kann ich das so nicht übergeben?

    naaaa, das geht schon...schaust du mal folgendes kleines progrämmchen:

    #include <iostream>
    using namespace std;
    
    void foo(const int inParam[])
    {
    	cout<<inParam[0];
    }
    
    int main()
    {
    	int* buf=new int[5];
    	for(int i=0;i<5;i++)
    		buf[i]=i;
    	foo(buf);
    	delete[] buf;  //edit: delete darf nicht vergessen werden  :rolling_eyes: 
    return 0;
    }
    

    regards usw...



  • <ot>
    WOW, bin gerade begeistert, dass man im Quellcode Smileys verwenden kann. Toll 👍

    include <iostream.h>  :(  
    void foo( :bulb: ){/*...*/};
    void main()  :open_mouth:  :-1: 
    {
    a :arrow_right: b();
    foo( :bulb: );  ;)  
    return  :warning: ;
    }
    

    SCHERZ! 😉
    </ot>



  • Jo, funzt. Danke!

    Genau so, hatte ich es eigentlich schon versucht und hatte nen Fehler bekommen.
    Hmm, am besten nicht weiter darüber nachdenken in ein paar Tagen ist Weihnachten == Urlaub 😉

    Gruss mathi


Anmelden zum Antworten