Pointerübergabe
-
Hi,
ich muss sichergehen, das bei meiner Funktion ein Pointer mit 3 Einträgen (und zwar genau 3 Einträgen) übergeben wird.
Bei Arrays hab ichs immer so gemacht:
void foobar (const float (&value)[3]) { // mach was }
Doch wie macht man das nun bei Pointer-Arrays die mit new allokiert wurden?
-
gar nicht.
oder nimm vectorvoid foo (vector<int> &v) { assert(v.size() == 3); }
-
wieso gar net?
p.s.: wenns geht ohne STL oder boost
-
oder mach eine verzweigung if else mit foo.size() sodass man bei falscher größe eine aktion ggf. wiederholen kann.
-
Wieso ohne STL, gehört doch schliesslich zum Standard. Selbst MSVC 6 hat damit
keine Probleme.mfg JJ
-
John Doe schrieb:
Wieso ohne STL, gehört doch schliesslich zum Standard. Selbst MSVC 6 hat damit
keine Probleme.mfg JJ
Können wir beim Thema bleiben?
-
gar nicht.
-
void foo(float* myArray, int myArraySize) { assert(myArraySize==3) }
-
*hand übern kopf heb und 'life' eine scheuer*
-
Das ist aber die einzige Möglichkeit.
-
*** schrieb:
*hand übern kopf heb und 'life' eine scheuer*
also mit solchen antworten wird dich niemand ernst nehmen
und uebrigens ist lifes loesung durchaus sinnvoll