I'm doing a function that returns an array with some registry values, and I have a problem converting the values. It compiles fine, but when I execute it, it gives me this error: This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.

I've been located the problem, I write here the code
for(i=0; i<vSize; i++);
	//Here stops.
        temp.Name = (const char*)vFromLM[i].Value;
	temp.Path = (const char*)vFromLM[i].Data;
The variables I use are

struct App
	string Path;		
	HKEY Location;		
	string Name;		

struct ValueData
	BYTE Data	[2048];
	TCHAR Value [255];

App temp;
LinkedList<ValueData> vFromLM;
The operator[] of LinkedList returns a reference to ValueData.

I don't know how to fix this, can anyone help me?