Błąd uzyskania wartości z pod adresu

0

Witam, mam problem z wyłuskaniem wartości ze składowej klasy.
Proszę nie zawracać sobie głowy innymi nieistotnymi w tej sprawie błędami jest to program który pisałem sam dla siebie:

#include <iostream>
#include <fstream>
using namespace std;
int *TabDynam(int n);
struct tablice
{  int n;
   int *T=TabDynam(n);//
};

int *TabDynam(int n){

int *T=new int[n];


}

tablice *TabDynamTab(int n){

tablice *T=new tablice[n];


}





int main()
{

    int ile,t,o,n,k,l,tab[5],tab1[5];
    char nazwa[100];
    printf("Podaj nazwe pliku do wczytania:");
    scanf("%s",nazwa);
    FILE *pf=fopen(nazwa,"r");
    fscanf(pf,"%d",&n);
    tablice *op=TabDynamTab(n);
    //printf("%d",n);
  
for (int i=0;i<n;i++)
{
    fscanf(pf,"%d",&op[i].n);
    for(int j=0;j<op[i].n;j++){


    fscanf(pf,"%d",&op[j].T);
    cout<<(op[j].T)<<endl;
    }
    
}
cout<<*(op[1].T);//tu wyswietla blad

}

 

Koncepcja programu była następująca wczytuje liczbe n która mowi o ilosci ciagow, i tworzy tyle obiektow struktury, do n w klasie wczytuje ilosc elementow do wczytania i wczytuje do dynamicznie utworzonej tablicy T o rozmiarze n(tym ze struktury),

1

Ale przecież ten kod sie nie trzyma kupy w ogóle.

struct tablice
{  int n;
   int *T=TabDynam(n);//
};

C++ to nie java, nie możesz tak inicjalizować pola. Zresztą byłoby to bez sensu bo przecież nie ustawiłeś wartości n.

int *TabDynam(int n){
 
int *T=new int[n];
 
 
}

A zwrócić coś z tej funkcji to co? o_O

tablice *TabDynamTab(int n){
 
tablice *T=new tablice[n];
 
 
}

jw.

Właściwie niewiele w tym twoim kodzie jest napisane poprawnie ;] A zwykle jest tak ze jeden błąd pociąga za sobą inne. Błąd w linii którą podałeś WYNIKA z błędu który opisałem tutaj jako pierwszy. Popraw ten pierwszy to ten o który pytasz zniknie.

1
struct tablice
  {
   unsigned size;
   int *T;
  };
 
tablice TabDynam(unsigned size)
  {
   tablice tb;
   tb.size=size;
   tb.T=(int*)malloc(size*sizeof(int));
   return tb;
  }

tablice op=TabDynam(n);

1 użytkowników online, w tym zalogowanych: 0, gości: 1