Velum
Grünschnabel
Hallo Community,
ich hoffe ihr könnt mir ein wenig unter die Arme greifen.
Bitte entschuldigt, wenn ich nicht im richtigen Forum gepostet habe, ich habe gelesen, c++ in Visual Studio ist nicht immer c++?!
Zu Beginn:
Ausgelesen aus einer Datei habe ich eine Tabelle und eine Spalte davon in ein Array gebracht. Jeder Wert des Arrays soll mit einem Wert multipliziert werden und in einem Neuen Array gespeichert werden. Das Ganze möchte ich als Funktion verpacken.
Mein Problem:
wie übergebe ich das Array der Funktion und wie bekomme ich wieder eins heraus?
Ansatz:
Funktionen sind mir als Anfänger geläufig, aber durch Google soll man wohl pointer benutzen wenn man bei Arrays bleiben möchte oder auf vectoren umsteigen. Letzteres kommt für mich nicht in Frage und mit pointern/zeigern tue ich mich noch schwer.
Auszug aus dem Programm, auf das Wesentliche gekürzt:
Der Code wird erst einmal korrekt ausgeführt, bis er die Funktion erreicht und mir diesen Fehler ausgibt:
Run-Time Check Failure #2 - Stack around the variable 'ipk' was corrupted.
Ich hoffe ihr könnt mir einen Hinweis wo der Fehler liegt. Dass ich mich mit Pointern auseinander setzen muss ist mir aber klar.
ich hoffe ihr könnt mir ein wenig unter die Arme greifen.
Bitte entschuldigt, wenn ich nicht im richtigen Forum gepostet habe, ich habe gelesen, c++ in Visual Studio ist nicht immer c++?!
Zu Beginn:
Ausgelesen aus einer Datei habe ich eine Tabelle und eine Spalte davon in ein Array gebracht. Jeder Wert des Arrays soll mit einem Wert multipliziert werden und in einem Neuen Array gespeichert werden. Das Ganze möchte ich als Funktion verpacken.
Mein Problem:
wie übergebe ich das Array der Funktion und wie bekomme ich wieder eins heraus?
Ansatz:
Funktionen sind mir als Anfänger geläufig, aber durch Google soll man wohl pointer benutzen wenn man bei Arrays bleiben möchte oder auf vectoren umsteigen. Letzteres kommt für mich nicht in Frage und mit pointern/zeigern tue ich mich noch schwer.
Auszug aus dem Programm, auf das Wesentliche gekürzt:
PHP:
using namespace std; //Übersichtlichkeitsgründe
//Prototypen
int *BerechnungPK(int As[], int anzahlBelegungen);
int main()
{
const int Size = 4; // Für die größe des Arrays
int arr_Arbeitsstunden[] = { 23,4,9,13,51 }; // Beispiel Inhalt
int *a = BerechnungPK(arr_Arbeitsstunden, Size);
cout << "Personalkosten: " << a[3] << endl; //Beispielausgabe zum Testen
system("pause");
return 0;
}
//Personalkosten berechnen Funktion
int *BerechnungPK(int As[], int anzahlBelegungen)
{
int Pkh = 32; //Personalkosten pro Stunde
int ipk[] = { 0 };
for (int i = 0; i < anzahlBelegungen; i++)
{
ipk[i] = As[i] * Pkh; //jeweilige Arbeitsstunden * Personalkosten
}
return ipk; //Berechneten Wert zurückgeben
}
Der Code wird erst einmal korrekt ausgeführt, bis er die Funktion erreicht und mir diesen Fehler ausgibt:
Run-Time Check Failure #2 - Stack around the variable 'ipk' was corrupted.
Ich hoffe ihr könnt mir einen Hinweis wo der Fehler liegt. Dass ich mich mit Pointern auseinander setzen muss ist mir aber klar.