1

我想知道为什么在 Visual Studio 2012 Desktop 中键入:

    struct a
    {
        struct b
        {
            int foo;
        };

    b bar;
    bar.
    };

IntelliSense 调用:“没有可用的成员”。IE。当我输入“bar”时。在结构 a 中。我的问题是 - 这是 Visual Studio 2012 的错误,还是我的愚蠢?对我来说,这很烦人,我祈祷能解决这个问题。

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

    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 回答