E2492 Eigenschaften dürfen nur mit einfachen Anweisungen, wie z.B. \"prop = value;\" zugewiesen werden (C++)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Compiler-Fehler und -Warnungen (C++) - Index

Zuweisungen an Eigenschaften sollten in einfachen Anweisungen vorgenommen werden. Wenn eine Eigenschaftszuweisung auf der linken Seite einer Zuweisung auftritt (weil sie z. B. in eine größere Anweisung eingebettet ist), wird die Abruffunktion aufgerufen, und es können unerwünschte Nebeneffekte auftreten. Der Compiler erlaubt pro Anweisung nur jeweils einen Aufruf entweder der Abruf- oder der Zuweisungsfunktion.

Ein Beispiel:



 class myClass
 {
   int X;
   public:
   int __property x = { read=getx, write=putx };
   int getx() { return X; }
   void putx(int val) { X = val; }
 } OneClass;
 int value(int);
 int main()
 {
   return value(OneClass.x = 4);  // Diese Anweisung verursacht einen Fehler
 }