I need to design a data structure to transfer data between nodes on Open MPI system. 

Some elements of the the structure has dynamic size. 

For example, 

typedef struct{

double data1;
vector<double> dataVec; 

} myDataType;

The size of the dataVec depends on some intermidiate computing results.

If I only declear it as the above myDataType, I think, only a pointer is transfered. 

When the data receiver try to access the elements of vector<double> dataVec, it got 
segmentation fault error.

But, I also need to use the myDataType to declear other data structures. 

such as vector<myDataType> newDataVec;

I cannot declear myDataType in a function , sucjh as main(), I got errors: 

main.cpp:200: error: main(int, char**)::myDataType; uses local type main(int, char**)::myDataType;

Any help is really appreciated. 



Oct. 19 2010