Ich habe Probleme zu verstehen, wie ein dynamisches Array durch Verweis in C++ übergeben.Wie Übergeben dynamisches Array durch Verweis C++
ich das Problem in diesem kleinen, isolierten Codebeispiel neu erstellt haben:
#include <iostream>
using namespace std;
void defineArray(int*);
int main()
{
int * myArray;
defineArray(myArray);
/** CAUSES SEG FAULT*/
//cout<<(*(myArray)); //desired output is 0
return 0;
}
void defineArray(int*myArray)
{
int sizeOfArray;
cout<<"How big do you want your array:";
cin>>sizeOfArray;
/** Dynamically allocate array with user-specified size*/
myArray=new int [sizeOfArray];
/** Define Values for our array*/
for(int i = 0; i < sizeOfArray; i++)
{
(*(myArray+i))=i;
cout<<(*(myArray+i));
}
}
Gibt es einen bestimmten Grund, warum Sie 'myArray [i] = i' nicht verwenden? Code sieht auf diese Weise viel sauberer aus – PRP
Dynamische Arrays sind in C++ nicht erlaubt. –
Verwenden Sie stattdessen einen 'std :: vector'. –