problem zeigerübergabe
-
warum zeigt er nicht 15 an??? wie kann ich das problem beseitigen? woran liegt dieses verhalten?
#include <iostream> #include <cstdlib> using namespace std; unsigned int zeige_zeilen(int *feld) { unsigned int feld_zeilen = sizeof(feld) / sizeof(feld[0]); return feld_zeilen; } int main(int argc, char *argv[]) { int a[] = {1,2,3,4,5,6,7,8,9,8,7,6,5,4,3}; unsigned int f_z=_zeilen(a); cout<<f_z<<endl; /1 statt 15 system("PAUSE"); return EXIT_SUCCESS; }
-
http://www.c-plusplus.net/forum/viewtopic-var-t-is-116443.html
gleiches problem.
-
als das ist schade!!!
-
aber wie funktioniert das dann bei vektoren? da bekommt man doch auch die größe?
-
falls du std::vector meinst: der speichert selbst seine groesse.
-
Der Vektor speichert auch ab wieviele Elemente er hat.
-
stimmt ja.