C++
2차원 vector에다 포인터 저장함
layers[0][4]는 nullptr이고
layers[0][8]은 힙에 할당한 객체포인터를 넣음
prj.layers[0][4]->render();
prj.layers[0][8]->render();
그런데 [0][4]가 아니고 [0][8]에서 런타임 에러 뜨면서 꺼지더라?
한줄씩 실행해보니까 [0][4]에서 멤버함수 render()에 접근하는데
[0][0]에 넣어둔 객체로 가서 render를 호출하더라...
null에서 바로 걸러야하는 거 아닌가?
넣을때 잘못넣은게 아닌지
ㄴㄴ
걍 컴파일러가 늑장부리는 거 같아 신기해서 올려봄
뭔가 실수해서 0번째랑 4번째랑 같은인스턴스 가리키는게 아닌지.... 뭐 아님말고
ㅋㅋ c++ 내부 동작구조를 안다면 전혀 이상할게 없음
모르니까 알려주고가라
알려주세요 .님 tc++pl같은 데 나오나여
상관없음, 근데 멤버변수에 접근해서 값을 얻으려 하거나 수정하려 하면 에러 뿜을 꺼임