Mingw 4.7.2 ile, isnan
numaralı çağrı nedeniyle derlenmeyen bir kütüphanem var. std::isnan
kullanırsam derleyici "her şey yoluna girecek" diyor ve gerçekten de dosyamı derlemeyi başarabiliyorum. Ben here (Edit: ama belki de here :-) işaretli) kontrol edersenizisnan in std :: namespace içinde mi? Daha genel olarak, std :: gerekli olduğunda, isteğe bağlı mı yoksa kaçınılı mı?
Ama std::
gerekli görünmüyor. Eklediğimde dosya taşınabilir mi olacak?
Genel olarak, her vaka için, std::
'un ne zaman konulması gerektiğini (taşınabilirlik için), isteğe bağlı mı yoksa kaçınılması mı gerektiğini anlamanın genel bir yolu var mı?
Düzenleme sorunun kökenleri arasında Nitekim
<math.h>
(<cmath>
zaten dahil edilmiş bu cpp dosyası dahil etmeye çalışır iken, orada birden başlık kalıntılar vardır ve dahil başlıkların bazı <cmath>
içerdiğini zaman).
, orada kontrol [buradan] kontrol etmeyin (http://en.cppreference.com/w/cpp/numeric/math/isnan). –
@ChristianRau Temel olarak C++ 98'de bu yoktu ve bir tanesi sadece C'den borç alarak olabilirdi! İlginç! – Antonio
Hayır, her zaman olduğu gibi olmuştur. Bu link sadece size fonksiyon isminin önünde büyük bir 'std ::' olduğunu göstermelidir. "Isnan" özel işlevinin sadece C++ 11 ile desteklendiği ve C++ 98'de hiç bulunmadığı C90/C6 başlığında değil, C-başlığında bile C (C başlığında değil) ++ 11 kullanır). Yani bir şekilde C'den ödünç alabilirsin, ama C++ ile gelen C'den değil, fakat gerçek bir C99'dan (o zaman garip bir karışım olmalı). –