L
luigi
The following code causes crash, can someone tell me what the problem is?
#include <iostream>
#include <fstream>
#include <vector>
#include "TClass.h"
using namespace std;
int main(int argc,char **argv)
{
TClass::npts = 2;
vector<TClass> vec;
vec.resize(10);
int len=vec.size();
for(int i=0;i<len;i++)
{
for(int j=0;j<TClass::npts;j++)
{
vec.a[j]=j;
vec.b[j]=j+1;
cerr <<i<<" "<< vec.a[j]<< " " <<vec.b[j]<< endl;
}
}
return 0;
}
// TClass.h
class TClass
{
public:
static int npts;
int *a;
int *b;
public:
TClass();
~TClass();
};
// TClass.cpp
#include "TClass.h"
int TClass::npts;
TClass::TClass()
{
a=new int[npts];
b=new int[npts];
}
TClass::~TClass()
{
if(a) delete [] a;
if(b) delete [] b;
}
#include <iostream>
#include <fstream>
#include <vector>
#include "TClass.h"
using namespace std;
int main(int argc,char **argv)
{
TClass::npts = 2;
vector<TClass> vec;
vec.resize(10);
int len=vec.size();
for(int i=0;i<len;i++)
{
for(int j=0;j<TClass::npts;j++)
{
vec.a[j]=j;
vec.b[j]=j+1;
cerr <<i<<" "<< vec.a[j]<< " " <<vec.b[j]<< endl;
}
}
return 0;
}
// TClass.h
class TClass
{
public:
static int npts;
int *a;
int *b;
public:
TClass();
~TClass();
};
// TClass.cpp
#include "TClass.h"
int TClass::npts;
TClass::TClass()
{
a=new int[npts];
b=new int[npts];
}
TClass::~TClass()
{
if(a) delete [] a;
if(b) delete [] b;
}