Yapıcımın intialization listesindeki bir diziyi başlatmaya çalışıyorum ve dizinin Stack sınıfımda genel statik sabit olan MAX_SIZE boyutuna sahip olmasını istiyorum. Bunu nasıl çalıştırabilirim? Yardımlarınız için şimdidenKurucunun başlatma listesindeki dizilimi başlat
class Stack {
public:
Stack();
static const unsigned MAX_SIZE;
private:
double array[];
unsigned elements;
}; // class Stack
Stack::Stack(): array(array[MAX_SIZE]), elements(0) {}
const unsigned Stack::MAX_SIZE = 4;
Teşekkür: derleyici onlar 'çift [0U]' için 'çift'
İşte benim kod tahsisinde uyumsuz türleri vardır diyerek şikayet ediyor. yorumlarda belirtildiği gibi
Tamamen mazoşist değilseniz: 'statik sabit imzasız max_size = 4; std :: vektör dizisi; Yığın :: Yığın(): dizi (MAX_SIZE) {} ' –
Belki daha basit bir yolu var mı? yani vektörleri kullanmadan. Programın dizi veri üyemi MAX_SIZE boyutunda kabul etmesini nasıl sağlayabilirim? – Sean
“std :: vector” işlevini kullanmaya alışabilirim. Nadiren diziler kullanırım; Neredeyse her zaman bir std :: vektör kullanacağım. @Jesse Good'in verdiği kod da işe yaramalı. –