Lorsque je tente de transmettre l'adresse d'une variable publique comme ceci:Passage adresse de variable publique
ML.Register("Radius", &lBeacons[i].Radius, 0.0f, 200.0f, 10.0f);
je reçois cette erreur:
error CS0212: You can only take the address of an unfixed expression inside of a fixed statement initializer
La fonction Registre ressemble à ceci:
public unsafe void Register(string desc, float* val, float minimum, float maximum, float stepsize)
Balises est une liste. Il tient une classe avec le rayon public.
Je convoque Jon Skeet! Toute la question pointers-references-classes-and-structs-in-csharp est son sujet favori. –
Re votre commentaire "Je veux stocker l'adresse de Radius (et d'autres) dans ML pour les choses futures" - Non! ne fais pas ça! Les objets .NET se déplacent; vous ne pouvez pas compter sur un pointeur en dehors d'un bloc fixe (qui devrait être de courte durée). Passez l'objet Radius (référence) dans ML et mettez à jour les propriétés de l'objet Radius. –
(Je voulais dire objet Beacon) –