Mam pytanie dlaczego nie mozna zapisywac w taki sposob ilosci zarezerwowanych intow w tablicy.
Bo technicznie, to w ogóle nie jest legalny C++.
https://godbolt.org/z/3rz65z4f8
GCC i Clang na to pozwalają jako rozszerzenie kompilatora, ale krzyczą z -Wpedantic:
<source>:6:9: warning: ISO C++ forbids variable length array 'tab' [-Wvla]
6 | int tab[x];
| ^~~
Ale już MSVC (Visual Studio) w ogóle na to nie pozwala:
<source>(6): error C2131: expression did not evaluate to a constant
Natomiast:
ze bezwzglednie do takich operacji trzeba uzywac wskaznika mniej wiecej w taki sposob:
Też nie. To nie jest C, żeby ręcznie wskaźniki alokować i zwalniać. Do takich rzeczy są automatycznie zarządzane kontenery, jak vector:
int x; cin>>x;
vector<int> tab(x);
// kod