Der Fehler konfrontiert mich mit dem Compiler sagen cannot convert ‘double*’ to ‘double’ in assignment
. Mein Code ist unten.Typ Mismatchs
double* initArray(int data[], int dimensionCount){
//data: element 0= number of dimensions
//element 1 through inf define the size of each dimension
//dimensionCount keeps track of the current dimension being manipulated by the function
//Allocate dynamic memory for the current dimension
double* output;
output=new double[data[dimensionCount]];
int i=dimensionCount;
while(i<data[dimensionCount]){
if(!(output[i]= initArray(data, dimensionCount++))){
std::cout<< "Error! Out of Memory!";
break;
}
i++;
}
//returning the generated array tacks on the generated dimension to the lower dimension preceding it
return output;
}
Als output
vom Typ double*
und arrayInit
kehrt Variablen vom Typ double*
, ich weiß nicht, wo es versucht, von einem double
zu einem double*
zu konvertieren. Ich fand this, aber es scheint nicht zu gelten, wie data
wird korrekt übergeben, und intArray
gibt einen Zeiger auf das Array, das generiert wird, nicht das Array selbst zurück, so sollte es keinen Typ nicht übereinstimmen mit output
sein.
'data []' ist höchstwahrscheinlich nicht das, was Sie denken, es ist wahrscheinlich nur "Daten" in diesem Kontext. Beachten Sie, dass 'initArray (int data [] ...' äquivalent zu 'initArray (int * data ...' Dies ist jedoch eher C-ish C++. Sie sollten auf jeden Fall besseres Lernmaterial bekommen. Bemerkung: Wenn Sie es tun Aus irgendeinem Grund, aber akademische Neugier, was Sie brauchen, ist wahrscheinlich bereits implementiert und bereit zu verwenden. –
Um zu betonen, 'new []' ist * wirklich * selten in der realen Welt nützlich, 'std :: vector' macht alles tut es und mehr und besser. –
Ich mache es nur, um es zu versuchen und herauszufinden.: Ich versuche auch, eine Bibliothek zu erstellen, ohne etwas anderes als 'iostream' und' string' zu verwenden. Wenn ich genauer hinsehe, wäre das nicht ein Array-Element, das ich referenzieren möchte, ohne dass ein Schlüssel dem Array mitteilt, auf welche Zelle ich referenziere? Ich werde versuchen, das in 'data' zu ändern und zu sehen, wie das funktioniert. Danke! – Graf