c++ - YouCompleteMe 仅在以命名空间为前缀时显示构造函数
问题描述
如果我有一个包含标头的文件,那么 YouCompleteMe 可以很好地完成代码,除了构造函数之外,它的唯一工作方式是我为该类使用命名空间前缀。
这是一个示例,由头文件组成some_class.h
:
namespace types {
class some_class {
public:
some_class() {};
some_class(int) {};
some_class(int, int) {};
void some_function() {}
};
}
和主文件:
#include "some_class.h" // some_class is in namespace 'types'
using namespace types;
int main() {
some_class a; // YouCompleteMe doesn't suggest all the diff ctors I could use
a.some_function(); // YouCompleteMe suggests autocompletion on my type
types::some_class b; // Now YouCompleteMe shows all the different ctors I could use
}
为什么会发生这种情况,有没有办法解决它,因为我不想总是使用命名空间前缀?
解决方案
推荐阅读
- angular - Angular Material UI Dialog 为弹出对话框提供数据
- java - 同步和异步如何同时工作
- javascript - 列表孩子没有正确更新?(反应/预演)
- security - 此页面的部分内容不安全
- php - Nginx '未指定输入文件。' 使用 php71 的 laravel 项目出错
- list - 来自局部变量的 rnd
- python - 在同一图 Matplotlib 上绘制时间序列和累积和
- python - Python pandas 解析 html 表以获取隐藏的值和链接
- vba - 将 VBA 宏应用于 Visio 中的不同页面
- excel - 合并工作簿 - 获取其他值并将它们添加到 C 列