有时候,当我编译C ++项目时,构建会通过说" Build Succeeded"来成功。但是,如果您单击错误列表,它可能会显示一些错误,例如" IntelliSense:不允许不完整类型"。 我的问题是什么是"智能感知"错误,我应该关注输出可执行文件吗?
答案 0 :(得分:4)
智能感知错误不一定是真正的编译错误。记住Intellisense是一个独立的部分编译器,专为提高准确性而设计。它部分编译代码以帮助生成IDE完成,IDE也使用它强调Visual Studio IDE中可能存在的错误。
答案 1 :(得分:4)
从VS2010开始,IntelliSense解析器是另一家公司的产品。 EDG,爱迪生设计集团,在C ++领域非常有名,因为它是唯一一个为C ++ 03编写前端的人,它完全符合该标准。
但它与MSVC ++编译器没有100%的兼容性。 VS2010正在训练轮子,他们一直在削弱不兼容性。一些差异非常重要,例如,MSVC ++使用一种罕见的方式在预处理器中执行宏替换。从未在语言标准中指定的细节和微软早期承诺的选择与其他人的选择不同。非常难以修复,方式太多的客户都依赖于此。
你可以看看这个问题的好处。你的代码是狡猾的,如果你曾经使用过g ++的clang,可能会很麻烦。如果你需要帮助来取消它,那么就问一个关于它的问题。