come mettere un pin_ptr in un elenco generico?
-
20-09-2019 - |
Domanda
Ho un metodo di C ++ gestito, che prende come parametro un elenco di stringa ^
il metodo ha bisogno per popolare una struttura gestita con puntatori alla memoria nella stringa ^
estrazione del WCHAR * è abbastanza semplice con PtrToStringChars
però non so il numero di pin_ptr di allocare in fase di progettazione
Mi piacerebbe aggiungere l'appuntato ptr a un elenco, con qualcosa di simile al di sotto
List
fare questo i rendimenti errore C3225: tipo generico argomento per 'T' non può essere 'cli :: pin_ptr', deve essere un tipo di valore o una maniglia per un riferimento
c'è un modo per fare questo? in C ++ gestito
Soluzione
Bene avete qualche problema. Prima pin_ptr non è un tipo gestito, in modo che non sarebbe in grado di metterlo in un elenco. Si potrebbe utilizzare un vettore C ++, invece, tranne:
puntatori Inchiodamento possono essere dichiarati solo come variabili locali non statici sullo stack.
http://msdn.microsoft. com / it-it / library / 1dz8byfh% 28VS.80% 29.aspx .
Invece è probabile che sia di utilizzare GCHandles con un GCHandleType di Appuntato direttamente.