Condividi tramite


Errore del compilatore C2534

'identifier': il costruttore non può restituire un valore

Un costruttore non può contenere un'istruzione return con un'espressione (anche se l'espressione ha tipo void). Ciò differisce dalla funzione regolare void-returning in cui è consentita un'espressione restituita di tipo void . Tuttavia, l'uso dell'istruzione senza un'espressione return è consentito per i primi risultati nel costruttore.

L'esempio seguente genera l'errore C2534:

// C2534.cpp
// compile with: /c
void void_func() {}

class A {
public:
   int i;
   A() {
      return i;   // C2534
      return 123;   // C2534
      return (void)0;   // C2534
      return void_func();   // C2534

      return;   // OK
   }
};

È possibile correggere gli errori precedenti rimuovendo l'intera return istruzione o omettendo l'espressione restituita se si desidera ottenere un risultato anticipato.