Peringatan kompiler (level 1) C5033
'storage-class-keyword' bukan lagi kelas penyimpanan yang didukung
Kata auto
kunci kelas penyimpanan dan register
telah ditolak atau dihapus dari bahasa C++.
Keterangan
Visual Studio 2010 dan yang lebih baru: Di C++11, auto
kata kunci bukan lagi penentu kelas penyimpanan C++, dan register
kata kunci tidak digunakan lagi.
Visual Studio 2017 versi 15.7 dan yang lebih baru: (tersedia dalam /std:c++17
mode dan yang lebih baru): Kata register
kunci dihapus dari bahasa C++ dalam standar C++17 dan yang lebih baru.
Standar C++ mendefinisikan arti asli dan direvisi untuk auto
kata kunci. Sebelum C++11, auto
kata kunci mendeklarasikan variabel di kelas penyimpanan otomatis ; yaitu, variabel yang memiliki masa pakai lokal. Mulai dari C++11, auto
kata kunci mendeklarasikan variabel yang jenisnya disimpulkan dari ekspresi inisialisasi dalam deklarasinya. Untuk kompatibilitas mundur, Anda dapat menggunakan /Zc:auto
opsi pengkompilasi untuk mengontrol arti auto
kata kunci.
Kata register
kunci awalnya dimaksudkan sebagai saran kepada pengkompilasi untuk menempatkan variabel dalam register. Kata kunci secara rutin diabaikan oleh pengkompilasi. Sebaliknya, kompilator mengontrol apakah variabel ditempatkan dalam daftar untuk memenuhi konvensi panggilan dan tingkat pengoptimalan. Kata register
kunci dicadangkan dalam standar untuk digunakan di masa mendatang.
Contoh
// c5033.cpp
// compile by using: cl /c /std:c++17 c5033.cpp
register int value; // warning C5033: 'register' is no longer a supported storage class
Untuk memperbaiki masalah ini, hapus kata kunci penentu register
kelas penyimpanan.