错误:使用非静态数据成员

时间:2016-06-04 05:56:08

标签: c++

gutter icons navigation

这是我的class.h文件中导致问题的代码。出于某种原因,我的仿函数无法通过给出10个此错误计数来访问主向量(对于仿函数中的每次使用都是1次):

enter image description here

任何帮助都会很精彩,我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

尝试编译并支持C ++ 11(或更高版本) 在嵌套类/结构中,只能使用类型名,静态成员和封闭类中的枚举器。

请参阅here

答案 1 :(得分:0)

previousComp结构没有master成员。您需要一个对象的实例,其中master是一个成员变量来访问它。

这可以通过引用previousComp嵌套的类并使用它来完成。像

struct previousComp
{
    ContainingClass const& object_;

    previousComp(ContainingClass const& object)
        : object_(object)
    {}

    bool operator()(...)
    {
        // Use object_.master here
    }
};

在创建结构的(临时)实例时,将*this传递给构造函数。