URL: https://www.overclockers.at/coding-stuff/c_eine_array_an_2_funktionen_weitergeben_161868/page_1 - zur Vollversion wechseln!
Hi
Habe ein kleines C++ denk Problemm und hoffe das ich mir helfen könnt!
Folgendes ich erstelle eine Array und übergebe es an eine Funktion und von dort aus an eine zweite und befülle es in der Zweiten Funktion mit Daten.
main
{
int array[100];
klasse_1 K1;
K1.funktion1(array);
}
void klasse_1::funktion1(int array[])
{
klasse_2 K2;
K2.funktion2(array);
}
void klasse_2::funktion2(int array[])
{
array[1]=1;
}
Jetzt bekomme ich aber eine Fehlermeldung mit folgendem Inhalt
error: invalid conversion from ‘int*’ to ‘int’
Muß ich da was mit pointer auf pointer machen oder da ja das array ja als pointer auf den begin des Platzes zeigt welcher für das Aray reserviert wurde.
ich arbeite immer mit pointer bei einer übergabe eines arrays an eine funktion. das ist im allgemeinen der einfachere weg.
auf der anderen seite kann ich bei deinem code, bis auf die falsch definierte main(), keinen fehler erkennen. mit welchem compiler arbeitest du? in welcher zeile tritt der fehler auf?
ps: deine rechtschreibung ist wirklich hundig
Zitat von Hulk2442Hi
Habe ein kleines C++ denk Problemm und hoffe das ich mir helfen könnt!
Folgendes ich erstelle eine Array und übergebe es an eine Funktion und von dort aus an eine zweite und befülle es in der Zweiten Funktion mit Daten.
main
{
int array[100];
klasse_1 K1;
K1.funktion1(array);
}
void klasse_1::funktion1(int array[])
{
klasse_2 K2;
K2.funktion2(array);
}
void klasse_2::funktion2(int array[])
{
array[1]=1;
}
Jetzt bekomme ich aber eine Fehlermeldung mit folgendem Inhalt
error: invalid conversion from ‘int*’ to ‘int’
Muß ich da was mit pointer auf pointer machen oder da ja das array ja als pointer auf den begin des Platzes zeigt welcher für das Aray reserviert wurde.
Hier liegt wohl der "Abtippfehler" vor...
wenn du intervalle, bereiche oä bearbeitest empfiehlt sich sowieso die STL/boost. die sind anfängerfreundlicher als "plain" C++.
Ich würds auch mit pointer machen! Nichtsdestotrotz sehe ich im obigen Programm auch keinen Fehler, reichlich komisch die Sache!
so a frage, is "int array[]" net eh das gleiche wie "int *array" beim übergabeparameter? oda bin i jetzt komplett daneben, dann korigierts mich bitte
Zitat von Neo-=IuE=-so a frage, is "int array[]" net eh das gleiche wie "int *array" beim übergabeparameter?
na dann ist mir etwas unklar, was hier einige meinen mit "machs mit pointern, is einfacher"
genau wegen den sprüchen war ich etwas verwirrt, ob i mi da jetzt net vertan hab
ZitatK2.funktion2(array);
Zitat von Wannabe2kkann sein das ich voll daneben lieg, aber solltest as da ned mit &array übergeben?
weil sonst hast ja **array in k2 oder?
THX für die Hilfe
Habe mittlerweile durch kleine änderung an einm andern Teil des Programmes, es geschaft den mittleren Teil zu übergehen und somit direckt die funktion2 aufzurufen!
Und diese funkt super!
THX nochmal!
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025