Condividi tramite


Errore del compilatore C3299

'member_function': impossibile specificare vincoli poiché vengono ereditati dal metodo base

Quando si esegue l'override di una funzione membro generica, non è possibile specificare clausole vincolo (la ripetizione dei vincoli implica che i vincoli non vengano ereditati).

Le clausole vincolo sulla funzione generica di cui si esegue l'override verranno ereditate.

Per altre informazioni, vedere Vincoli su parametri di tipo generico (C++/CLI).

Esempio

L'esempio seguente genera l'errore C3299.

// C3299.cpp
// compile with: /clr /c
public ref struct R {
   generic<class T>
   where T : R
   virtual void f();
};

public ref struct S : R {
   generic<class T>
   where T : R   // C3299
   virtual void f() override;
};