错误:无效使用非静态成员

约翰·Traveli

编译器抛出:“无效使用非静态成员'it',这是为什么?继承是正确的,但是我不明白为什么它不让我使用它和allInfo向量。

class JSON{

    private:
    vector<myType> allInfo;

    public:

    friend ostream &operator<<(ostream &os,const JSON &js)
    {
        vector<myType>::iterator it;
        it = this->allInfo.begin();

        for(it; it != allInfo.end();it++){
            cout << "this is the info "<<(it->getNAME()) << endl;
        }
        return os;
    };

};
伊恩·普德尼(IanPudney)

operator <<是一个friend函数,实际上不是该类的成员JSON因此,如果您只是说allInfo,则编译器不知道allInfo您在说什么。

但是,正确的JSON实例作为参数传递。您应该这样写:

it = js.allInfo.begin();
/* ... */
for(it; it != js.allInfo.end();it++){

现在,您要告诉编译器您要使用allInfo属于instance的js

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

线程错误:无效使用非静态成员函数

Linux-信号:错误:无效使用非静态成员函数

Arduino错误(C ++):无效使用非静态数据成员

错误:非静态成员函数 C++ 的无效使用

错误:在 C++ 中无效使用非静态成员函数

无效使用非静态成员函数

C ++无效使用非静态数据成员

无效使用非静态成员函数C ++

如何修复C ++中的“错误:无效使用非静态数据成员'tree :: root'”错误?

模板朋友功能C ++无效使用非静态数据成员错误

C++ [错误] 无效使用非静态数据成员 'Tree::root'

在头文件中无效使用非静态成员函数

C ++ freeRTOS任务,无效使用非静态成员函数

pthread_create-无效使用非静态成员函数

boost :: thread无效使用非静态成员函数

无效使用非静态数据成员'Board :: N'

无效使用非静态数据成员进行矩阵构建

非静态成员函数c++线程linux的无效使用

将成员函数作为函数变量传递时,无效使用非静态成员函数C ++

使用C ++的Array中的非静态成员引用错误

无效使用非静态成员函数-类成员函数调用另一个类成员函数

将ino sketch转换为C ++类,无效使用非静态成员函数

设置开始迭代器时无效使用非静态数据成员

CC_SYNTHESIZE(int,beadColor,_BeadColor); 在非静态成员函数外部无效使用“ this”

非静态成员函数 int test::funcAB(int, int) 的无效使用

为什么在静态上下文中使用非静态成员不会产生错误?

如何设置 (*sa_handler)(int) 指向作为类成员的函数的指针?(非静态成员函数的无效使用)

使用非静态数据成员作为参数

c ++ 17 错误消息:在向量上使用宏时“必须调用对非静态成员函数的引用”