этот код читает данные из файла, и я хочу его сохранить, в 2d динамический массив объектов типа class graph , когда я пытаюсь проверить содержимое массива g объектов пустым ... пожалуйста, помогите мне сохранить данные в массиве.C++ 2d динамический массив объектов
class graph
{
public:
int index;
int c;
int p1;
int p2;
int s1;
int s2;
int t1;
int t2;
int weight;
bool ready;
graph(int index,int c, int p1, int p2, int s1, int s2,int t1, int t2, int weight,int ready)
{
index = index;
c = c;
p1 = p1;
p2 = p2;
s1 = s1;
s2 = s2;
t1 = t1;
t2 = t2;
weight = weight;
ready = ready;
}
};
это основной код
int main(){ char argc[20]; int m,index,c,p1,p2,s1,s2,t1,t2,weight,ready; //graph temp(0,0,0,0,0,0,0,0,0,0); fstream f;
cout << "Input file name: "; cin >> argc; f.open(argc, ios::in); f >> m;
graph **g=new graph*[m]; int i = 1; while (!f.eof()) {
f >> index >> c >> p1 >> p2 >> s1 >> s2 >> t1 >> t2 >> weight >> ready; g[i] = new graph(index, c, p1, p2, s1, s2, t1, t2, weight, ready);
cout<< g[i]->index;
i = i + 1;
} return 0; }
Скомпилирует ли это без ошибок? Я понимаю, что параметры метода должны иметь разные имена, чем члены класса (чтобы не было необходимости использовать синтаксис 'this->'). –
Я настоятельно рекомендую переформатировать вашу функцию 'main'. Хотя компилятору все равно, любой, кто хочет помочь вам, позаботится. –
Сделайте свою жизнь проще, используйте 'std :: vector' вместо динамического массива. –