Erreur du compilateur C3890
'var' : vous ne pouvez pas prendre l’adresse d’un membre de données littéral
Un membre de données littéral existe sur le tas collecté par le garbage. Un objet sur le tas collecté par le garbage peut être déplacé, de sorte que la prise de l’adresse n’est pas utile.
L’exemple suivant génère l’erreur C3890 :
// C3890.cpp
// compile with: /clr
ref struct Y1 {
literal int staticConst = 9;
};
int main() {
int p = &Y1::staticConst; // C3890
int p2 = Y1::staticConst; // OK
}