Impossible de convertir le type 'short[]' en 'System.IntPtr'
	
	
		Bonjour, 
je bloque actuellement sur la conversion d'un bout de code transformé du C++ au C#, j'obtient l'erreur suivante : 
	Citation:
	
		
		
			Impossible de convertir le type 'short[]' en 'System.IntPtr' (avec le cas simillaire pour le byte[])
			
		
	
 Si quelqu'un avait une solution et, en abusant un peu, une explication sur la dite solution, je lui en serait reconnaissant.
Merci à l'avance
En C++
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
   | void CInterpret :: SaveState(SaveFile& file)
{
	//Check
	file.WriteUInt(check_CInterpret);
 
	file.WriteUShort(m_GamePart);
	file.WriteUShort(m_CurrentGamePart);
 
	m_pDisplay->SaveState(file);
 
	file.WriteBytes((const void*)m_TabVars, sizeof(short)*es_MaxVars);
 
	file.WriteBytes((const void*)m_OpStack, sizeof(ushort)*256);
 
	file.WriteUShort((int)m_OpStackPoint-(int)m_OpStack);
 
	file.WriteBytes((const void*)m_EntityFlags, sizeof(uchar)*es_MaxEntity);
	file.WriteBytes((const void*)m_EntityFrameFlags, sizeof(uchar)*es_MaxEntity);
 
	file.WriteBytes((const void*)m_EntityPoint, sizeof(short)*es_MaxEntity);
	file.WriteBytes((const void*)m_EntityFrame, sizeof(short)*es_MaxEntity);
 
	file.WriteInt(m_NbTrameToWait);
	file.WriteInt(m_ProcessEntity);
	file.WriteBool(m_showBuffer);
 
	//Check
	file.WriteUInt(check_CInterpret);
} | 
 
En C# 
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
   | public void SaveState(ref SaveFile file)
	{
		//Check
		file.WriteUInt((uint)GlobalMembersAw_Interpret.check_CInterpret);
 
		file.WriteUShort(m_GamePart);
		file.WriteUShort(m_CurrentGamePart);
 
		m_pDisplay.SaveState(ref file);
 
		file.WriteBytes((System.IntPtr)m_TabVars, sizeof(short) * (int)AnonymousEnum.es_MaxVars);
 
		file.WriteBytes((System.IntPtr)m_OpStack, sizeof(ushort) * 256);
 
		file.WriteUShort(m_OpStackPoint - m_OpStack);
 
		file.WriteBytes((System.IntPtr)m_EntityFlags, sizeof(byte) * (int)AnonymousEnum.es_MaxEntity);
		file.WriteBytes((System.IntPtr)m_EntityFrameFlags, sizeof(byte) * (int)AnonymousEnum.es_MaxEntity);
 
		file.WriteBytes((System.IntPtr)m_EntityPoint, sizeof(short) * (int)AnonymousEnum.es_MaxEntity);
		file.WriteBytes((System.IntPtr)m_EntityFrame, sizeof(short) * (int)AnonymousEnum.es_MaxEntity);
 
		file.WriteInt(m_NbTrameToWait);
		file.WriteInt(m_ProcessEntity);
		file.WriteBool(m_showBuffer);
 
		//Check
		file.WriteUInt(GlobalMembersAw_Interpret.check_CInterpret);
	} |