-1
i ont un ENUM déclaré commeExiste-t-il un moyen d'utiliser les Enums gérés C++/CLI en tant qu'indices de tableau?
enum class AccessLevel : int
{
ReadOnly = 0,
Excluded = 1,
ReadWrite = 2,
};
et un tableau déclaré comme
static array<String^>^ _accessMap = gcnew array<String^> { "R", "X", "W" };
Je veux faire quelque chose comme ceci:
AccessLevel^ access = access::ReadOnly;
String^ foo = _accessMap[access];
Pourriez-vous s'il vous plaît signaler l'erreur que vous obtenez? Vous devrez peut-être fournir une distribution explicite. J'imagine que cela fonctionnerait en C# mais dans ma courte expérience avec C++/CLI, je l'ai trouvé "floconneux". Alors essayez "String^foo = _accessMap [(int) access];" – nlaq
Je reçois une erreur indiquant qu'il n'y a pas de conversion implicite vers int pour AccessLevel. Si je dis _accessMap [safe_cast (accès)], j'obtiens "l'erreur C2682: impossible d'utiliser" safe_cast "pour convertir AccessLevel^en int" –