• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Indeksy w tablicach równe zmiennej

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
0 głosów
128 wizyt
pytanie zadane 13 marca 2020 w C i C++ przez MiKasProgramista Początkujący (350 p.)

Witam,

Podczas pisania programu napotkałem na pewien problem, otóż przy tworzeniu tablic, w którym zadeklarowana ilość indeksów równa się zmiennej (aby stworzyć tyle szufladek ile muszę bez obciążania pamięci RAM). Wartość tej zmiennej typu int będzie podawana w trakcie działania programu. Jednak, gdy uruchamiam program wyskakuje mi komunikat: "wyrażenie musi mieć wartość stałą". Czy ktoś mi wytłumaczy dlaczego tak się dzieje oraz co mógłbym z tym zrobić?

#include <iostream>


using namespace std;

int ile;


int main()
{
    cin >> ile;
    int a[ile], b[ile];
   

    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 13 marca 2020 przez Whistleroosh Maniak (57,400 p.)
wybrane 15 marca 2020 przez MiKasProgramista
 
Najlepsza

Rozmiar tablicy musi być wartością stałą, która jest znana kompilatorowi. Aby zrobić to w ten sposób możesz zapisać:

int* a = new int[ile];
int* b = new int[ile];

 

Możesz także skorzystać z wektorów:

#include<vector>

vector<int> a(ile);
vector<int> b(ile);

 

Podobne pytania

0 głosów
2 odpowiedzi 685 wizyt
pytanie zadane 4 lutego 2017 w C i C++ przez Lukasz95 Bywalec (2,160 p.)
0 głosów
1 odpowiedź 259 wizyt
pytanie zadane 16 stycznia 2020 w Python przez tonn204 Mądrala (7,470 p.)
0 głosów
1 odpowiedź 243 wizyt
pytanie zadane 26 kwietnia 2020 w C i C++ przez michhal1 Początkujący (270 p.)

93,432 zapytań

142,428 odpowiedzi

322,659 komentarzy

62,796 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

...