我是C++的新手,我有一个问题。我试图让班级共同的朋友,并在一个从另一个访问不同的成员。我不明白什么是我做wrong.Here是我到目前为止有:第二类没有成员v错误
#ifndef HA_H_
#define HA_H_
#include"Ha2.h"
using namespace std;
class two;
class one{
public:
int tip;
int timp;
one(int t) :tip(t){}
friend class two;
};
#endif /* HA_H_ */
第二集:
#ifndef HA2_H_
#define HA2_H_
#include"Ha.h"
#include<vector>
class one;
class two{
public:
vector<one> v;
vector<int> x;
inline void create_x(vector<one> v){
// vector<one>::iterator it=v.begin();
int i;
for(i=0;i<v.size();i++){
x.push_back(v.at(i).tip);
}
}
friend class one;
};
#endif /* HA2_H_ */
和主:
#include<vector>
#include<iostream>
#include"Ha.h"
#include"Ha2.h"
int main()
{
one o(3);
two x;
x.v.push_back(o);
x.create_x(x.v);
cout<< x.x.back();
}
一nd我得到了几个错误,如: 二级没有名为'v'的成员
有什么建议吗?谢谢。
既然你们的班级都没有私人成员,那么你现在并没有真正测试“朋友”做什么。 – 2011-04-03 22:02:07
你也有循环依赖,Ha包括Ha2和Ha2包含Ha。你不能那样做。 – leetNightshade 2011-04-03 22:04:07
发布错误消息。我敢打赌,前面的错误正在引发你提到的错误。 – Matt 2011-04-03 22:04:54