में सरणी में structs में सरणी शुरू करने में समस्याएं मुझे कुछ संकलक चेतावनी को हटाने का कार्य सौंपा गया है। मैं समस्या को निम्नलिखित उदाहरण तक उबालने में सक्षम हूं, जो मैं अपने सिर को खरोंच कर रहा हूं क्यों यह काम नहीं करेगा। मुझे लगता है कि मुझे नहीं पता कि सी ++ में सामान कैसे शुरू करें। किसी भी सहायता की सराहना की जाएगी।structs
मैं बहुत की तरह जी का उपयोग ++: जी ++ init_arr.cpp
कोड यह रहा। मैं गलियारा पिज्जा में सभी टेबल पर सभी लोगों को प्रारंभ करना चाहते हैं:
// init_arr.cpp
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
struct Person {
int id;
string name;
double money;
};
struct Table {
Person tab[4];
};
struct Aisle {
Table ais[3];
};
int main() {
cout << "main function()" << endl;
Aisle pizza =
{
{ // Table 0
{ 0, "Tom", 100.0 },
{ 1, "Mary", 101.0 },
{ 2, "Jane", 103.0 },
{ 3, "Joe", 104.0 }
},
{ // Table 1
{ 0, "Tom", 100.0 },
{ 1, "Mary", 101.0 },
{ 2, "Jane", 103.0 },
{ 3, "Joe", 104.0 }
},
{ // Table 2
{ 0, "Tom", 100.0 },
{ 1, "Mary", 101.0 },
{ 2, "Jane", 103.0 },
{ 3, "Joe", 104.0 }
}
};
return 0;
}
मैंने सोचा था कि इसके बाद के संस्करण काम करेगा, लेकिन मैं निम्नलिखित त्रुटि मिलती है:
g++ init_arr.cpp -std=gnu++0x
init_arr.cpp: In function ‘int main()’:
init_arr.cpp:49: error: too many initializers for ‘Table [3]’
init_arr.cpp:49: error: too many initializers for ‘Aisle’
+1: और इतने पर ...
इस प्रयास करें। –
आपने अभी बहुत सारे ब्रेसिज़ गंवाए हैं। समझने में मदद के रूप में इस मामले पर विचार करें कि ऐलिस के पास ऐस की तुलना में अधिक सदस्य थे। आप इन सदस्यों को कहां रखेंगे? – Tobias
उत्तर के लिए धन्यवाद। – Bitdiot