我有InstancePool
包含 Instance.h 标头的类(下面的一部分),但我operator>>
在InstancePool
.
#include <iostream>
#include <string>
#include <vector>
#include <map>
#include <sstream>
#include <stdlib.h>
using namespace std;
#include "Instance.h"
#include "InstancePool.h"
istream &operator >> (istream &in , InstancePool &ip) {
ip.Instances->clear();
string input;
getline(in , input);
while (!in.eof()) {
Instance inst;
Instance::operator >>(in , inst); // <- line giving me the error
ip.Instances->push_back(inst);
getline(in , input);
}
}
InstancePool 运算符>> 函数是“朋友”函数顺便说一句,Instance 中的相同函数也是如此。可能我正试图以错误的方式访问实例“操作员>>”,但如果我知道正确的方式,我会被诅咒......有什么帮助吗?