Saya sering menggunakan string literal tables dalam kode C saya. Semua tabel ini terlihat kurang lebih seperti ini:
static const char* const stateNames[STATE_AMOUNT] =
{
"Init state",
"Run state",
"Pause state",
"Error state",
};
Masalah dengan kode di atas adalah jika tabel menjadi lebih panjang dan dimodifikasi selama pengembangan, saya lupa koma dari waktu ke waktu. Kode dikompilasi tanpa masalah dengan koma yang hilang, tetapi program saya berakhir mogok ketika string terakhir diatur ke NULL
. Saya menggunakan kompiler MinGW dan Keil untuk memverifikasi.
Apakah ada cara untuk menghasilkan peringatan kompiler untuk inisialisasi saya jika koma hilang?