1

Visual Studio 2012 Desktop で次のように入力した理由を知りたいです。

    struct a
    {
        struct b
        {
            int foo;
        };

    b bar;
    bar.
    };

IntelliSense 呼び出し:「使用可能なメンバーがありません」。すなわち。「バー」と入力すると。構造体 a 内。私の質問は、これは Visual Studio 2012 のバグですか、それとも私の愚かなことですか? 私にとってこれは非常に迷惑であり、それを修正するために何かを祈っています.

編集:そのようなコードを書いたときは馬鹿げた行動をしましたが、関数でもまだこの問題があります。しかし、私は 1 つの大きな要件を見つけました。それはクラス テンプレートでなければなりません。したがって、真のコードは次のとおりです。

    template<typename def>
    class lista
    {
    private:
     struct wezel
     {
             int poprz;
     };
     wezel* current;
    public:
     void do_tylu()
     {
         current->
     }
    };

そして、IntelliSenseがクラッシュし始めます...

4

1 に答える 1

3

この例では、メソッド (またはフィールド初期化子) の外で式を入力しています。これは C++ では許可されていないため、IntelliSense アルゴリズムには有用な情報がありません。

代わりに次のことを試してください。

struct a
{
    struct b
    {
        int foo;
    };

    b bar;

    void SomeMethod()
    {
        bar.
    }
};
于 2013-04-03T18:12:57.957 に答える