cómo poner una pin_ptr en una lista genérica?
-
20-09-2019 - |
Pregunta
Tengo un método manejado C ++ que toma como parámetro una lista de cadena ^
el método tiene que rellenar una estructura no administrado con punteros a la memoria en la cadena ^
extraer el WCHAR * es bastante simple con PtrToStringChars
Sin embargo, no sé el número de pin_ptr de asignar a la hora del diseño
Me gustaría añadir el PTR cubrió a una lista, con algo similar a la de abajo
Lista
hacer esto rendimientos C3225 de error: argumento de tipo genérico de 'T' no se puede 'cli :: pin_ptr', debe ser un tipo de valor o un identificador para una referencia
¿hay una manera de hacer esto? en C ++ administrado
Solución
Bueno, usted tiene algunos problemas. En primer lugar pin_ptr no es un tipo administrado, por lo que no sería capaz de ponerlo en una lista. Se puede usar un vector ++ C en lugar excepto:
punteros Acobardamiento sólo pueden ser declarados como variables locales no estáticos en la pila.
http://msdn.microsoft. com / es-es / library / 1dz8byfh% 28VS.80% 29.aspx .
En su lugar es probable que tenga que usar GCHandles con un GCHandleType de Fijado directamente.