3

次のソース フラグメントを検討してください。

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 をセットアップすることは可能ですか?

4

1 に答える 1

2

これはclang(そしてlibclang) 問題であり、Vim のプラグインの問題ではありませんclang_complete

clang現在、アクティブな開発段階にあるため、 http://llvm.org/bugsでバグレポートを提出できます。しかし、私自身、コード補完に関するいくつかのバグを 1 か月以上前に提出しましたが (たとえば、このバグ)、まだ解決されていません。

使用可能なコンストラクターのリストを取得する必要がある場合は、 yours のようなコードを記述し、コンストラクターを選択してから、本当に必要なものにZ b = Z変換します。Z b = Zあまり良くはありませんが、ないよりはましです。

于 2013-01-13T16:35:24.333 に答える