คำถามติดแท็ก fall-through


1
เหตุใด GCC จึงเตือนฉันเกี่ยวกับการล้มเหลวแม้ว่าฉันจะใช้ [[fallthrough]]
ในส่วนของโค้ดต่อไปนี้ฉันใช้[[fallthrough]]แอตทริบิวต์มาตรฐานจาก C ++ 1z เพื่อจัดทำเอกสารว่าต้องการการล่มสลาย: #include <iostream> int main() { switch (0) { case 0: std::cout << "a\n"; [[fallthrough]] case 1: std::cout << "b\n"; break; } } ด้วย GCC 7.1 โค้ดจะคอมไพล์โดยไม่มีข้อผิดพลาด อย่างไรก็ตามคอมไพเลอร์ยังคงเตือนฉันเกี่ยวกับการล่มสลาย: warning: this statement may fall through [-Wimplicit-fallthrough=] std::cout << "a\n"; ~~~~~~~~~~^~~~~~~~ ทำไม?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.