เพิ่มเติม › หลังจาก #include และยังคงใช้ได้

ฉันสังเกตว่าฉันเขียนผิด

#include <vector>> //Notice the additional > after <vector>

รหัสของฉันรวบรวมได้ดีโดยไม่มีปัญหาใดๆ สิ่งนี้เป็นไปได้อย่างไร?

ป.ล. ฉันอยู่ใน MSVS 2015

แก้ไข:

คอมไพเลอร์แจ้งคำเตือนเกี่ยวกับเรื่องนี้จริงๆ อย่างไรก็ตาม มันควรจะเป็นข้อผิดพลาดมากกว่าคำเตือนตามมาตรฐานไม่ใช่หรือ?


person Humam Helfawi    schedule 26.11.2016    source แหล่งที่มา
comment
GCC และ Clang ก็ยอมรับรหัสนี้พร้อมคำเตือน   -  person Oktalist    schedule 26.11.2016
comment
1›c:\users\starl1ght\documents\visual studio 2015\projects\stack\stack\main.cpp(5): คำเตือน C4067: โทเค็นที่ไม่คาดคิดตามคำสั่งตัวประมวลผลล่วงหน้า - คาดว่าจะขึ้นบรรทัดใหม่   -  person Starl1ght    schedule 26.11.2016
comment
ขออภัยฉันสังเกตเห็นคำเตือน.. แต่ไม่ควรเป็นข้อผิดพลาดใช่ไหม มาตรฐานอนุญาตให้เขียนอะไรก็ตามหลังคำสั่ง include หรือไม่   -  person Humam Helfawi    schedule 26.11.2016
comment
มันมีรูปแบบที่ไม่ถูกต้องตามมาตรฐาน (เท่าที่ฉันสามารถบอกได้) แต่นั่นไม่ใช่คำถามของคุณ   -  person krzaq    schedule 26.11.2016
comment
มาตรฐานไม่ได้สร้างความแตกต่างระหว่างข้อผิดพลาดและคำเตือน เพียงบอกว่า คอมไพเลอร์จะต้องออกการวินิจฉัย   -  person Bo Persson    schedule 26.11.2016
comment
@BoPersson เข้าใจแล้วตอนนี้ .. ขอบคุณ   -  person Humam Helfawi    schedule 27.11.2016
comment
เห็นได้ชัดว่าคุณสามารถเขียนอะไรก็ได้หลังจากคำสั่งตัวประมวลผลล่วงหน้าและคอมไพเลอร์จะออกคำเตือนเท่านั้น   -  person Barmak Shemirani    schedule 27.11.2016
comment
คุณยังจำวันเก่า ๆ ของ Visual c++ 6.0 ที่เราสามารถเขียน: ??=include<> แทน #include<> ได้หรือไม่   -  person Raindrop7    schedule 27.11.2016
comment
@ Raindrop7: ??= เป็นไตรกราฟสำหรับ # คุณยังสามารถใช้ %: เป็นไดกราฟสำหรับ # ได้อีกด้วย AFAIK แม้แต่ C ++ 14 ก็ไม่ได้กำจัดไตรกราฟ แต่ C ++ 17 จะทำ GCC ไม่รู้จักสิ่งเหล่านี้ เว้นแต่คุณจะยืนยัน (--trigraphs)   -  person Jonathan Leffler    schedule 27.11.2016