Bagikan melalui


Compiler Warning (level 3) C4534

'konstruktor' tidak akan menjadi konstruktor default untuk kelas 'kelas' karena argumen default

Kelas yang tidak dikelola dapat memiliki konstruktor dengan parameter yang memiliki nilai default dan pengkompilasi akan menggunakan ini sebagai konstruktor default. Kelas yang ditandai dengan value kata kunci tidak akan menggunakan konstruktor dengan nilai default untuk parameternya sebagai konstruktor default.

Untuk informasi selengkapnya, lihat Kelas dan Struktur.

Sampel berikut menghasilkan 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;
}