Bagikan melalui


Compiler Warning (level 1) C4715

'function' : tidak semua jalur kontrol mengembalikan nilai

Fungsi yang ditentukan berpotensi tidak mengembalikan nilai.

Contoh

// C4715a.cpp
// compile with: /W1 /LD
int func1( int i )
{
   if( i )
   return 3;  // C4715 warning, nothing returned if i == 0
}

Untuk mencegah peringatan ini, ubah kode sehingga semua jalur menetapkan nilai pengembalian ke fungsi:

// C4715b.cpp
// compile with: /LD
int func1( int i )
{
   if( i ) return 3;
   else return 0;     // OK, always returns a value
}

Ada kemungkinan bahwa kode Anda mungkin berisi panggilan ke fungsi yang tidak pernah kembali, seperti dalam contoh berikut:

// C4715c.cpp
// compile with: /W1 /LD
void fatal()
{
}
int glue()
{
   if(0)
      return 1;
   else if(0)
      return 0;
   else
      fatal();   // C4715
}

Kode ini juga menghasilkan peringatan, karena pengkompilasi tidak tahu bahwa fatal tidak pernah kembali. Untuk mencegah kode ini menghasilkan pesan kesalahan, nyatakan fatal menggunakan __declspec(noreturn).