[STL] std::map의 배열 형태의 변수를 return하는 문제...
글쓴이: dorado2 / 작성시간: 수, 2006/01/04 - 4:29오후
typedef struct _rEntry { int dist; int mom; } rEntry; typedef std::map<int, rEntry> rTable; typedef std::pair <int, rEntry> r_Pair;
일단 자료구조는 위와 같이 선언되어 있습니다.
rTable r_table[256]; rEntry A ; A.dist = 5; A.mom = 6; r_table[0].insert(r_Pair(1,A)); A.dist = 7; A.mom = 8; r_table[3].insert(r_Pair(4,A));
256개 노드에 관한 테이블이 필요해서 위와 같이 변수 선언을 하고 사용합니다. 위처럼 하고 값을 쓰고 읽어 보니 동작은 잘 합니다.
문제는 저 r_table을 다른 클래스에서 사용하기 위해서 get 함수를 작성했는데 에러가 나네요.
rTable[] get_routing_table() {return r_table; }; // 에러~~ rTable& get_routing_table() {return r_table; }; // 에러~~
위 두 가지 방식은 컴파일시에 에러가 나네요.
어떤 방식으로 return 해야 할까요?
답변에 미리 감사드립니다.
Forums:
두번째거는 r_table 은 배열인데 rTable 은 배열이 아니라 타입
두번째거는 r_table 은 배열인데 rTable 은 배열이 아니라 타입이 안맞는 문제네요.
rTable* get_routing_table() {return r_table; };
이런 포인터로 해결하면 안되는가요?
-----------------
한글을 사랑합니다.
네, 맞네요~~ ^^
왜 저거만 안 해봤을까요. :evil:
머리가 굳었습니다. 이런..
덕분에 문제 해결했습니다~~ :D
댓글 달기