我有這樣的陣列結構的C:陣列 - Visual C
struct Stream_Bufer {
int size_;
int capacity_max;
int p_read;
int p_write;
char data_[320000];
} stream_buffer_[30];
但是,如果我做int capacity_max = 320000;
我會得到錯誤:「數據成員的初始值是不允許的。」初始化的一種方式,我發現,是:
for(int i = 0; i<30;i++){
stream_buffer_[i].capacity_max = 320000;
}
任何「乾淨」的方式來做到這一點?
是否有任何理由在你的代碼'capaci ty_max'有一個不會不是320000的值?乍一看,因爲'data_'成員的大小不變,所以您可能應該使用常量。 – SirDarius
當我寫入緩衝區時,有一個允許我控制緩衝區剩餘大小的值。 @SirDarius – carduh
是你的for()循環在全局範圍嗎? (在C中,函數外部不允許使用代碼,即使不在初始化程序中) – joop