Visual Studio 2012中的IntelliSense:类模板中没有可用于Inner类的成员?

时间:2013-04-03 18:10:11

标签: c++ visual-studio-2012 intellisense inner-classes

我想知道为什么在我键入的Visual Studio 2012桌面中:

    struct a
    {
        struct b
        {
            int foo;
        };

    b bar;
    bar.
    };

IntelliSense呼叫:“没有可用的成员”。 IE浏览器。当我输入“bar”时。在struct a中。 我的问题是 - 这是Visual Studio 2012的错误,还是我的愚蠢?对我来说,这非常烦人,我祈求任何解决方法。

编辑: 虽然当我编写这样的代码时我表现得很愚蠢,但即使在函数中我仍然存在这个问题。但我想出了一个很大的要求 - 它必须是类模板。 所以真正的代码是:

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

然后智能感知开始粉碎......

1 个答案:

答案 0 :(得分:3)

在示例中,您在方法(或字段初始值设定项)之外键入表达式。这在C ++中是不允许的,因此IntelliSense算法没有提供有用的信息。

请尝试以下方法:

struct a
{
    struct b
    {
        int foo;
    };

    b bar;

    void SomeMethod()
    {
        bar.
    }
};