rublesaha
โปสเตอร์ต้นฉบับ- 22 ธ.ค. 2551
- 8 ม.ค. 2552
ฉันกำลังใช้ตัวอย่างโค้ดนี้
เป็นโมฆะ * handle_;
if (handle_ =dlopen('/System/Library/Frameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('............');
}
อื่น if (handle_ =dlopen('/System/Library/PrivateFrameworks/DiskArbitration.Framework/Versions/A/DiskArbitration',RTLD_NOW))
{
printf('.................');
}
แต่ฉันได้รับคำเตือน:
'แนะนำวงเล็บรอบ ๆ การมอบหมายที่ใช้เป็นค่าความจริง' สำหรับบรรทัดแรก i,e สำหรับลูป 'for'.... ใครสามารถช่วยฉันกำจัดคำเตือนนี้ .. ถึง
ปัว
- 25 ก.ค. 2549
- 8 ม.ค. 2552
อย่างไรก็ตาม บางครั้งมันเป็นวิธีที่ง่ายที่สุดในการเขียนโค้ดในสิ่งที่คุณหมายถึง (แม้ว่าฉันจะไม่คิดว่ามันจะอยู่ในตัวอย่างของคุณก็ตาม) เมื่อคุณได้รับมอบหมายงานในคำสั่ง if โดยทั่วไป GCC จะคาดหวังสิ่งนี้:
รหัส: |_+_|
สังเกตวงเล็บพิเศษรอบงาน GCC แนะนำให้คุณใช้วงเล็บเพื่อหลีกเลี่ยงข้อผิดพลาดต่อไปนี้:
รหัส: |_+_|
ซึ่งจะไม่ตรวจสอบค่าที่กำหนดให้กับ foo ว่าเท่ากับ NULL แต่ให้กำหนดบูลีน (bar() != NULL) ให้กับ foo
เป็นเรื่องปกติและโดยทั่วไปแล้วจะมีการตรวจสอบบูลีนที่ชัดเจน ดังนั้น GCC จึงคาดหวังสิ่งนี้ NS
แซนเดอร์
ถึง
- 24 เม.ย. 2551
- 9 ม.ค. 2552
รหัส: |_+_|
ถูกต้อง C (กำหนด b ให้กับ a และตรวจสอบว่าไม่ใช่ศูนย์) แต่คนส่วนใหญ่มักหมายถึง
รหัส: |_+_|
เนื่องจากการมอบหมายภายใน if() เป็นข้อยกเว้น GCC จะออกคำเตือนเกี่ยวกับเรื่องนี้ นอกจากนี้ สำหรับผู้อ่านโค้ดของคุณในอนาคต วงเล็บเพิ่มเติมระบุว่า 'ใช่ ฉันหมายถึงการมอบหมายที่นี่จริงๆ'
โพสต์ยอดนิยม