rublesaha
originele poster- 22 december 2008
- 8 januari 2009
Ik gebruik dit codefragment
ongeldig * handvat_;
if (handle_ =dlopen('/System/Bibliotheek/Frameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('............');
}
else if (handle_ =dlopen('/System/Library/PrivateFrameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('.................');
}
Maar ik krijg de waarschuwing:
'suggereer haakjes rond een opdracht die als waarheidswaarde wordt gebruikt' voor de eerste regel, d.w.z. de voor de 'for'-lus .... kan iemand me helpen om van deze waarschuwing af te komen.. TOT
kpua
- 25 juli 2006
- 8 januari 2009
Soms is het echter de eenvoudigste manier om te coderen wat u bedoelt (hoewel ik niet denk dat dit in uw voorbeeld noodzakelijk is). Als je een opdracht in een if-statement hebt, verwacht GCC over het algemeen zoiets als dit:
Code: |_+_|
Let op de extra haakjes rond de opdracht. GCC raadt u aan de haakjes te gebruiken om de volgende fout te voorkomen:
Code: |_+_|
die niet zou controleren of de waarde die aan foo is toegewezen gelijk is aan NULL, maar eerder de boolean (bar() != NULL) toewijst aan foo.
Het is ook gebruikelijk en over het algemeen duidelijker om de expliciete boolean check-in daar te hebben, dus daarom verwacht GCC dit. S
Schuurmachine
tot
- 24 april 2008
- 9 januari 2009
Code: |_+_|
is correct C (wijs b toe aan a en controleer op niet-nul), maar meestal meenden mensen het echt
Code: |_+_|
Aangezien toewijzing binnen de if() de uitzondering is, geeft GCC hier een waarschuwing over. Ook voor toekomstige lezers van je code, geven de extra haakjes aan 'ja, ik bedoel hier echt opdracht'.
Populaire Berichten