Остало

Мац упозорење: предложити заграде око задатка који се користи као истинита вредност

Р

рублесаха

Оригинални постер
22. децембра 2008
  • 8. јануара 2009
Здраво
Користим овај исечак кода

воид * хандле_;

иф (хандле_ =длопен('/Систем/Либрари/Фрамеворкс/ДискАрбитратион.Фрамеворк/Версионс/А/ДискАрбитратион',РТЛД_НОВ))
{
принтф('............');

}
иначе ако (хандле_ =длопен('/Систем/Либрари/ПриватеФрамеворкс/ДискАрбитратион.Фрамеворк/Версионс/А/ДискАрбитратион',РТЛД_НОВ))
{
принтф('.................');
}

Али добијам упозорење:
'предложи заграде око доделе која се користи као вредност истине' за први ред, тј. за петљу 'фор'.... може ли неко да ми помогне да се решим овог упозорења.. ДО

кпуа

25. јул 2006


  • 8. јануара 2009
Прво, генерално је лоша форма имати нежељене ефекте у иф() изјавама.

Међутим, понекад је то најједноставнији начин да кодирате оно што мислите (иако мислим да то није нужно у вашем примеру). Када имате задатак у изјави иф, ГЦЦ генерално очекује нешто овако:

Шифра: |_+_|
Обратите пажњу на додатне заграде око задатка. ГЦЦ предлаже да користите заграде да бисте избегли следећу грешку:

Шифра: |_+_|
који не би проверавао да ли је вредност додељена фоо једнака НУЛЛ, већ би доделила логички (бар() != НУЛЛ) фоо.

Такође је уобичајено и генерално јасније да постоји експлицитна логичка провера, па зато ГЦЦ то очекује. С

Сандер

до
24. априла 2008
  • 9. јануара 2009
То је и зато што изјава

Шифра: |_+_|
је тачно Ц (додели б на а и провери да није нула), али најчешће су људи заиста мислили

Шифра: |_+_|
Пошто је додела унутар иф() изузетак, ГЦЦ издаје упозорење о томе. Такође за будуће читаоце вашег кода, додатне заграде означавају 'да, стварно мислим на задатак овде'.