Invalid array assignment
-
Ja ich bin in C++ stark eingerostet, nur schon mal vorweg
Trotzdem hier mein Problem:
Ich habe folgende Codezeile:startLambdaSet = *CreateLambdaSet(randomSet.empty);
startLambdaSet:
LambdaSetAT startLambdaSet, stopLambdaSet;
CreateLambdaSet:
LambdaSetAT CreateLambdaSet(real32 value) { // generate random set for different labmdas LambdaSetAT lambdaSet; for(int LambdaIDX=0;LambdaIDX<MEAmaxWaveLen;LambdaIDX++) { lambdaSet[LambdaIDX] = value + 0.02 * static_cast<real32>(LIBRandom::Random()) * static_cast<real32>(LambdaIDX); } return lambdaSet; }
LambdaSetAT:
typedef real32 LambdaSetAT[meadef::MEAmaxWaveLen];
real32:
typedef float real32;
beim kompillieren entsteht der Fehler "invalid array assignment", ich bin leider relativ ratlos was da falsch sein soll...so weit ich das sehen kann handelt es sich beim Rückgabewert der Funktion um genau das selbe Array wie das der Variabel...was übersehe ich da?
-
Du darfst weder Arrays von Funktionen zurückgeben noch Arrays dynamisch zuweisen. Wenn du das so umsetzen willst, benutze ein struct mit einem Array fester Größe drin.