Avertissement du compilateur (niveau 1) C4395
'function' : la fonction membre sera appelée sur une copie du membre de données initonly 'member'
Une fonction membre a été appelée sur un membre de données initonly (C++/CLI). C4395 avertit que le membre de données initonly ne peut pas être modifié par la fonction.
L’exemple suivant génère l’erreur C4395 :
// C4395.cpp
// compile with: /W1 /clr
public value class V {
public:
V(int data) : m_data(data) {}
void Mutate() {
System::Console::WriteLine("Enter Mutate: m_data = {0}", m_data);
m_data *= 2;
System::Console::WriteLine("Leave Mutate: m_data = {0}", m_data);
}
int m_data;
};
public ref class R {
public:
static void f() {
System::Console::WriteLine("v.m_data = {0}", v.m_data);
v.Mutate(); // C4395
System::Console::WriteLine("v.m_data = {0}", v.m_data);
}
private:
initonly static V v = V(4);
};
int main() {
R::f();
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour