stl 관련 질문입니다..

cb2531의 이미지

a란 구조체에 map 객체를 넣고

typedef로 sa, *spa를 선언했습니다.

근데 삽입이나 삭제 같은 접근시

sa형 구조체.맵 객체 는 접근이 되는데

spa형 구조체->맵 객체 는 세그멘테이션 에러가 나네요...

기초적인 질문입니다만..헷갈려서 질문 드립니다 ^^

liongo의 이미지

질문한내용이 이게 맞는지 모르겠네요..?

세그먼트라.. 포인터에 메모리 할당이 되지 않은가 아닌지..

#include <stdio.h>
#include <map>
#include <string>

using namespace std;

class Ns {

public:
        map< int, int > nList;
};

int main()
{
        Ns a;
        Ns *b;

        b = new Ns();

        printf("DEBUG: %x \n",  &a.nList );
        printf("DEBUG: %x \n",  &b->nList );


}

<결과>

[liongo@freebsd48:/dream/home/liongo] ./a.out
DEBUG: bfbffb74
DEBUG: 804d030


' 형식이 내용을 규정한다. '