rublesaha
Orijinal afiş- 22 Aralık 2008
- 8 Ocak 2009
Bu kod parçasını kullanıyorum
geçersiz * tutamak_;
if (handle_ =dlopen('/System/Library/Frameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('............');
}
else if (handle_ =dlopen('/System/Library/PrivateFrameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('.................');
}
Ama şu uyarıyı alıyorum:
İlk satır için 'doğruluk değeri olarak kullanılan atama etrafında parantez öner', i, 'for' döngüsü için .... biri bu uyarıdan kurtulmama yardım edebilir mi .. İLE
kpua
- 25 Tem 2006
- 8 Ocak 2009
Bununla birlikte, bazen ne demek istediğinizi kodlamanın en basit yolu budur (gerçi sizin örneğinizde mutlaka olduğunu düşünmüyorum). Bir if ifadesinde bir atamanız olduğunda, GCC genellikle şöyle bir şey bekler:
Kod: |_+_|
Ödevin etrafındaki fazladan parantezlere dikkat edin. GCC, aşağıdaki hatayı önlemek için parantez kullanmanızı önerir:
Kod: |_+_|
bu, foo'ya atanan değerin NULL'a eşit olup olmadığını kontrol etmez, bunun yerine boole değerini (bar() != NULL) foo'ya atar.
Ayrıca, açık boole kontrolünün orada olması gelenekseldir ve genellikle daha açıktır, bu yüzden GCC'nin bunu beklemesinin nedeni budur. S
zımpara
ile
- 24 Nis 2008
- 9 Ocak 2009
Kod: |_+_|
doğru C'dir (b'yi a'ya atayın ve sıfırdan farklı olup olmadığını kontrol edin), ancak çoğu zaman insanlar gerçekten
Kod: |_+_|
if() içindeki atama istisna olduğundan, GCC bu konuda bir uyarı verir. Ayrıca kodunuzun gelecekteki okuyucuları için ekstra parantezler 'evet, gerçekten burada atamayı kastediyorum' anlamına gelir.
Popüler Mesajlar