2 NİSAN 2013, Salı
C 11'de kullanılmayan parametre
Kullanılmayan parametre hakkında derleyici uyarı devre dışı bırakmak için c 03 ve daha öncesinde ben genellikle bu kodu kullanın:
#define UNUSED(expr) do { (void)(expr); } while (0)
Örneğin
int main(int argc, char *argv[])
{
UNUSED(argc);
UNUSED(argv);
return 0;
}
Ama makrolar en iyi c uygulama öyle değil. Daha iyi bir çözüm c 11 standart ile görünüyor mu? Makrolar kurtulabilirim?
Her şey için teşekkürler!
Edit2: MadScientist önerilen iyi çözüm
template <typename T>
void ignore(T &&)
{ }
Birden çok parametre için Xeo çözüm
template<class... T> void unused(T&&...)
{ }
CEVAP
2 NİSAN 2013, Salı
Sadece parametre adları atlayabilirsiniz:
int main(int, char *[])
{
return 0;
}
Ve ana durumunda, hatta parametreleri tamamen atlayabilirsiniz:
int main()
{
// no return implies return 0;
}
Bakın "§ 3.6 Başlangıç ve Sonlandırma" C 11 Standart.
Bunu Paylaş: