@Raddek, to co napisał @grzesiek51114 się zgadza. Dlaczego nie możesz tego zrobić - wielkość typu musi być znana w czasie kompilacji np.
int ma rozmiar 4 bajty, Miejsce ma jakiś rozmiar M, ale tablica Miejsce[iloscMiejsc] nie jest stałą. W teorii da się osiągnąć coś takiego w C, robiąc strukturę gdzie ostatnim polem jest tablica o rozmiarze 1 i alokując więcej niż tej strukturze jest potrzebne i poźniej odnosząc się poza pamięć która wiesz, że ma wystarczająco miejsca - generalnie prawdopodobnie nigdy nie będziesz musiał tego tricku użyć w praktyce. To co chcesz to prawdopodobnie jest po prostu:
typedef vector<Miejsce> Sala;
albo:
class Sala {
vector<Miejsce> miejsca;
};
w tym przypadku vector ma stały rozmiar w trakcie kompilacji: rozmiar i wskaźnik na miejsce w pamięci gdzie vector trzyma dane (+ inne bajery potrzebne do implementacji)