当前位置: 首页 > 知识库问答 >
问题:

MacOS:VSCode C/C intellisense无法推断类型

李永寿
2023-03-14

MacOS Catalina 10.15.7,VSCode 1.64.2(通用):我让智能感知为我的项目工作没有问题,但是无论出于什么原因,它在某些情况下都停止工作:
每当我将某些东西分配给“自动变量”时,例如:autoval=(浮点数)foo;我会得到智能感知错误:int val:缺少显式类型(假定为'int')C/C(260)
类枚举没有被识别,所以我不能使用EnumClass::Enum或获得任何与枚举相关的自动完成支持。
这些是最常见的问题,但我要说智能感知通常不能正常工作。
我删除了与VSCode相关的所有内容(使用这个:如何在mac上完全卸载vscode)并在启用C/C扩展的情况下重新安装,问题仍然存在。我有其他人在这个项目中使用相同的设置,他们没有这个问题。我尝试了旧版本的扩展也没有成功。
有什么我可以尝试让它重新工作吗?

共有1个答案

孙辰阳
2023-03-14

问题似乎是intellisense使用旧的c版本来确定语法。解决此问题的方法是设置为较新的版本,例如c 17

转到VSCode中的settings,搜索Cpp Standard,然后从下拉列表中选择c 17或您使用的任何更新版本。

如果您遵循JSON样式设置,则搜索以下“C\u Cpp.default.cppStandard”:“C 17”

 类似资料:
  • 我的分类测试应用程序有一个问题,我使用了一个比较器。我收到一条信息: 线程“主”java.lang 中的异常:未解决的编译问题:无法推断排序器的类型参数 对于该代码: 分拣机类: 可比接口: id比较器类: 比较器接口: 这样用有什么错?我怎样才能做得更好?

  • 我仍然在玩我的日历,我已经设法将 https://github.com/SundeepK/CompactCalendarView 整合到我的一个片段中。只剩下一个错误,我做了一些研究,其他人也遇到了问题,例如使用ArrayList 示例代码: IDE说: 注:C:...\Uebersicht.java使用或覆盖不推荐使用的API。注意:用-Xlint:deprecation重新编译以获得详细信息。

  • 我需要 Kotlin 中的一个集合来仅包含实现给定接口的元素。 例如:包含动物集合的地图: 通过阅读文档、博客和SO问题,我编写了使用Generics in关键字的代码: 现在我想在Test类中添加一个读取“data”内容的方法,例如将其打印到控制台: 如果我这样做,我会遇到编译错误: 我的解决方案是强制我的动物进入一个ArrayList 但是我不确定这是编写这种代码的最好方式。有没有更好的方式告

  • 我使用一个密封类从网络返回数据。但是当我在构建这个项目时,我得到了以下错误 类型推断失败:没有足够的信息来推断参数T in fun error(错误消息:String,错误:Throwable):状态请明确指定它。 我错过了什么? 这是代码

  • 我安装了JDK 10以试用新特性,但我对感到很困扰--出于某种原因,即使JDK被添加到IntelliJ(版本2018.1)中,以下代码仍然无法编译,说Java找不到: 我是不是遗漏了一些显而易见的东西,或者我应该启用IntelliJ中的一个选项? 编辑:项目和模块SDK和语言级别都设置为Java10安装和LVL。10(但不是级别)。

  • 我试着做一个ArrayList,包含另一个类的对象,一个名字,还有turn。类似于python字典的东西。 所以我做了一个有三个值的类。 我试图在主类的构造函数中调用它,如下所示: 但它引发了一个错误:无法推断ArrayList的类型参数