rublesaha
Oryginalny plakat- 22 grudnia 2008
- 8 stycznia 2009
Używam tego fragmentu kodu
nieważne * uchwyt_;
if (handle_ =dlopen('/System/Library/Frameworks/DiskArbitration.Framework/Wersje/A/DiskArbitration',RTLD_NOW))
{
printf('.............');
}
else if (handle_ =dlopen('/System/Library/PrivateFrameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('.................');
}
Ale otrzymuję ostrzeżenie:
„zasugeruj nawiasy wokół przypisania użytego jako wartość prawdy” dla pierwszego wiersza, tj. dla pętli „for”… czy ktoś może mi pomóc pozbyć się tego ostrzeżenia… DO
kpua
- 25 lipca 2006 r.
- 8 stycznia 2009
Jednak czasami jest to najprostszy sposób na zakodowanie tego, co masz na myśli (chociaż nie sądzę, że jest to koniecznie w twoim przykładzie). Kiedy masz przypisanie w instrukcji if, GCC generalnie oczekuje czegoś takiego:
Kod: |__+_|
Zwróć uwagę na dodatkowe nawiasy wokół zadania. GCC sugeruje użycie nawiasów, aby uniknąć następującego błędu:
Kod: |__+_|
który nie sprawdziłby, czy wartość przypisana do foo jest równa NULL, ale raczej przypisze wartość logiczną (bar() != NULL) do foo.
Jest to również zwyczajowe i ogólnie bardziej jasne, aby mieć tam jawną kontrolę logiczną, więc dlatego GCC tego oczekuje. S
Sander
do
- 24 kwietnia 2008
- 9 stycznia 2009
Kod: |__+_|
jest poprawne C (przypisz b do a i sprawdź, czy nie ma wartości niezerowej), ale najczęściej ludzie naprawdę mieli na myśli
Kod: |__+_|
Ponieważ przypisanie wewnątrz if() jest wyjątkiem, GCC ostrzega o tym. Również dla przyszłych czytelników twojego kodu, dodatkowe nawiasy wskazują 'tak, naprawdę mam na myśli przypisanie tutaj'.
Popularne Wiadomości