考虑这个源片段:
class Z
{
public:
Z(int){}
void foo() {}
};
这可以按预期工作:
int main()
{
Z a(1);
a. // <- at this point, a list of functions appears in a menu
这根本不起作用:
Z b // <- at this point, nothing happens if I press <Tab> or C-X C-U
// except a "pattern not found" message
Z b( // <- same here
但这样做:
Z b = Z // a list of constructors appears in a menu when <Tab> is pressed
是否可以设置clang_complete以使构造函数完成在两种情况下都有效?
答案 0 :(得分:2)
这是clang
(和libclang
)问题,而不是Vim的插件clang_complete
问题。
clang
现在处于活动开发阶段AFAIK,因此,您可以在http://llvm.org/bugs处提交错误报告。但是,我自己在一个多月前提交了几个与代码完成相关的错误(例如this one),但它们仍然没有得到解决。
当我需要获得可用的构造函数列表时,我编写像你的Z b = Z
之类的代码,选择构造函数,然后将Z b = Z
转换为我真正需要的东西。不是很好,但总比没有好。