Clangd误将对象实例化解析为函数声明的问题求助(非Most Vexing Parse场景)
Clangd误将对象实例化解析为函数声明的问题求助(非Most Vexing Parse场景)
大家好,我遇到了一个clangd的解析问题,想请教下各位:
我有一段C++代码:
struct Foo { Foo(int x) {} }; int main() { int x = 42; Foo f(x); }
这段代码用clang++编译运行都没问题,但在Neovim里用clangd作为LSP时,它却把f识别成了一个函数,而不是Foo的对象实例。

一开始我以为这和“最令人头疼的解析(Most Vexing Parse)”有关,但仔细看代码,x是已经定义好的int对象,这里应该不存在歧义才对。有没有谁知道怎么解决clangd的这个解析错误呀?
备注:内容来源于stack exchange,提问作者aaronfu
相关产品推荐
相关产品推荐

