This does not work as normal
Code:
class test
{
private:
	class privateStruct
	{
	public:
		int m;
		privateStruct(int p){m=p;}
	};
};

void ff()
{
	test::privateStruct ps(4);
	throw ps; //Does not work.. 
}

void main()
{
	try
	{
		ff();
	}
	catch(...)
	{
	}
}
but the code below works
Code:
class test
{
private:
	class privateStruct
	{
	public:
		int m;
		privateStruct(int p){m=p;}
	};
};

void ff()
{
	throw test::privateStruct(4); //Work why
}

void main()
{
	try
	{
		ff();
	}
	catch(...)
	{
	}
}
How??