Partilhar via


Aviso do compilador (nível 3) C4534

'constructor' não será um construtor padrão para a classe 'class' devido ao argumento padrão

Uma classe não gerenciada pode ter um construtor com parâmetros que têm valores padrão e o compilador usará isso como o construtor padrão. Uma classe marcada com a palavra-chave value não usará um construtor com valores padrão para os próprios parâmetros como um construtor padrão.

Para obter mais informações, confira Classes e structs.

O seguinte exemplo gera o erro C4534:

// C4534.cpp
// compile with: /W3 /clr /WX
value class MyClass {
public:
   int ii;
   MyClass(int i = 9) {   // C4534, will not be the default constructor
      i++;
   }
};

int main() {
   MyClass ^ xx = gcnew MyClass;
   xx->ii = 0;
}