Ciao a tutti,
ho un problema con la serializzazione di una struttura dati.
Per realizzare la serializzazione trasformo una struttura in array di byte e la invio sulla rete con la funzione memcpy... Il problema secondo me è dovuto al fatto che voglio inviare un vettore... ma nn so come cambiare la cosa... c'è qualcuno che può darmi una mano??? Allego il codice

codice:
#include <vector>
#include <sstream>
#include <iostream>
#include <iomanip>
using namespace std;

#include "JNIStruct.h"

typedef char * blockId;

struct Block
{
	float startX;
	float startY;
	std::set <int> controlledVehicles;
};

struct Blocks{
	std::vector <Block> cane;
};

void prin(char * data){

	Blocks c;
	memcpy(&c,data,sizeof(Blocks));
	cout << " quello che "<< c.cane[0].startX<< " "<<c.cane[0].startY<< endl;
	cout << " quello che "<< c.cane[1].startX<< " "<<c.cane[1].startY<< endl;

}

char * getStruct (){
				 
	Block b;
	b.startX=32;
	b.startY=33;

	Block d;
	d.startX=99;
	d.startY=66;

	Blocks bb;
	bb.cane.push_back(b);
	bb.cane.push_back(d);

	char * oggetto= new char[sizeof(Blocks)];
	memcpy(oggetto,&bb,sizeof(Blocks));

	return oggetto;    
}

int main ( ) {

  char* pinki=getStruct();
  prin(pinki);
  system("pause");
  return 0;
}