コードは次のとおりです。
class Vec
{
public:
Vec() {len=0;};
Vec(int n);
~Vec();
void setValue(int idx,int v);
void printVec() const;
private:
class Items
{
friend class Vec;
Items(){value = 0;};
Items(int v){value = v;};
int value;
};
int len;
Items *vec;
};
/*Declare the member functions & constructor & destructor*/
int main()
{
Vec vector(5);
vector.printVec();
for(int i=0;i<5;i++){
vector.setValue(i,i);
vector.printVec();
}
Items n;
return 0;
}
を使用しようとするとItems n;
、「Items undeclared」というエラーが表示されます。
しかし、を使用するvector.Items n;
と、エラーは「無効な使用class Vec::Items
」です
コンパイラに宣言を認識させるにはどうすればよいですか?