|
class aaa
{
class inaaa {
int aa;
};
int bb;
inaaa* print();
};
aaa::inaaa* aaa::print()
{
inaaa *temp=new inaaa;
return temp;
}
이렇게 하면 됩니다. inaaa 클래스는 aaa 클래스 안에 있으므로 네임스페이스를 반드시 지정해 주어야 합니다. aaa:inaaa 처럼 말이죠. 그리고 temp 변수는 inaaa 의 포인터이므로 함수의 반환값형을 inaaa* 라고 해야겠죠.
백승진 님이 쓰신 글 :
: class aaa {
: class inaaa {
: int aa;
: };
: int bb;
: inaaa print();
: };
:
: inaaa aaaa::print() {
: inaaa *temp=new inaaa;
:
: return temp;
: }
:
: 위와 같이 클래스 aaa 가 있습니다. 그안에 inaaa 클래스가 있고
: 클래스 aaa의 맴버함수 print(); 가 inaaa 형을 반환하게 하려는데
: 그냥 제 상식으로 위처럼 작성했는데 Declaration syntax error 라는군요
: 어떻게 하면 클래스 내의 클래스형을 반환하는 맴버함수를 만들수 있을까요?
:
: 답변부탁합니다.
|