간단한 클래스인데요..
글쓴이: toold / 작성시간: 화, 2003/11/04 - 8:37오후
class BSTWPageNode { friend class BSTWPage; private: BSTWPageNode(); //각 데이터들 int regionNumber; int phoneNumber; char *lastName; char *firstName; //노드포인터들 BSTWPageNode *numberLeft; BSTWPageNode *numberRight; BSTWPageNode *nameLeft; BSTWPageNode *nameRight; }; class BSTWPage { public: BSTWPage() {root = NULL; }; void InsertName(char *fstName, char *lstName); BSTWPageNode *root; }; void BSTWPage::InsertName(char *fstName, char *lstName) { //객체변수에 값 할당 strcpy(firstName, fstName); strcpy(lastName, lstName); }
위의 소스에서 firstName가 선언되지 않은 변수라고 나옵니다.
BSTWPage가 BSTWPageNode의 friend로 선언되어 있으니..
firstName을 사용할 수 있지 않나요..?...
클래스를 뭔가 잘못사용한건가요..?
도움 부탁드릴께요...꾸벅..
Forums:
Re: 간단한 클래스인데요..
friend는 해당 클래스의 멤버 변수들을 이쪽 클래스에서 정의한 것과 똑같이 만드는 것이 아닙니다.
단지 해당 클래스의 private part에 대한 접근 권한을 갖게 되는 것일 뿐입니다.
다음 비스무리하게 하시면 됩니다.
답변 감사드립니다..
답변 진심으로 감사드립니다...
다시 또 열쒸미..짜고 있는데요..
이번엔 컴파일은 잘 되는데...링크에러(이렇게 부르는게 맞나요..^^;)가 나는데..
이런건 에러메세지를 봐도 도대체 어디가 잘 못 되었다는건지 모르겠습니다..
에러 내용은 다음과 같고요..
해결해 달라는 말은 염치 없어서 못하고...
이럴 경우엔 어느 부분을 봐야 하는지만이라도 알려주시면 감사하겠습니다..
부탁드립니다..꾸벅..
[code:1]--------------------Configuratio
BSTNode 의 기본생성자를 호출할 수 없다는 내용인 것 같습니다.
혹시 기본생성자를 선언만 해놓고 정의를 안만드신 것 아닌가요???
아...그렇군요...
아...그렇군요..
생성자 만들구.. 포인터에 널값 주니까 제대로 되네요..
(맞게 한건진 모르지만.. :D )
감사합니다..
꾸벅...
댓글 달기