Zmienna do rozmiaru tablicy.

0

Witam mam taki kod i chciałbym aby tablica tab1 miała rozmiar zmiennej liczba. Czy jest jakaś możliwość tak zrobienia bez używania stałej?

#include <iostream>
#include <windows.h>

using namespace std;

int liczba = 2;

string tab1[liczba];

void wyswietlam() {


    cout <<"tab[0]: "<<tab1[0]<<endl;
    cout <<"tab[1]: "<<tab1[1]<<endl;
}

void zapisuje() {
    tab[0] = "a";
    tab[1] = "b";


}


int main() {
    zapisuje();
    wyswietlam();
    system("pause");
    return 0;
}


PS. Nie wiedziałem jak nazwać temat.

4

Tak -> dynamiczne alokowanie pamięci jeśli stosujes "stare" tablice, w c++ masz std::vector dynamiczna tablica polecam się zapoznać z: http://www.cplusplus.com/reference/vector/vector/

2

Nie deklaruj zmiennych globalnie, jak stworzysz je w mainie, to będzie działać (ale będziesz musiał przesłać tablicę, jako argument do funkcji). Nie wiem czemu nie chcesz używać const, ale możesz też użyć constexpr

0

Dzięki działa.
PS.Nie chciałem użyć const bo rozmiar tablicy wczytywałem z pliku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1