new / delete 던 malloc / free 던 *말구 &값으로 넘기는법은 없는건가요?
392
17 câu hỏi đã được viết
class Monster
{
public:
int _hp;
int _attack;
int _mp;
};
void* pointer = malloc (sizeof (Monster));
Monster* m1 = (Monster*) pointer ;
m1->_hp = 100;
m1->_attack = 10;
m1->_mp = 5;
free (pointer);
요기서 포인터 부분을 전부
void* pointer = malloc (sizeof (Monster));
Monster& m1 = (Monster&) pointer ;
m1._hp = 100;
m1._attack = 10;
m1._mp = 5;
free (pointer);
return 0;
이런식으로 바꿔줬습니다 메모리까지는 정상적으로 할당 하는듯 보이는데 마지막 free에서 예외가 발생했다고 정지가 되버리네요 혹시 여기서 &방식으로 참조방식으로 만들수는 없는건가요?
Câu trả lời 2
0
감사합니다 아무리 해도 안됬는데 일단 포인터강의를 여러번 다시 봐야할듯 하네요 완벽하게 이해했는줄 알았는데 아직 80%정도 밖에 이해를 못했었던듯 합니다 반복 기계적으로 봐서 구조가 머리에 강제로 들어갈때까지 다시 봐야 겠네요 ㅋㅋ
0
살짝 이상한 시도이긴 하지만, 문법적으로 안 되진 않습니다.
다만...
이렇게 해야 합니다.
참조값을 사용할 땐 마치 해당 객체를 '바로' 사용하듯 해야 합니다.
(즉 어떻게든 Monster*기 아닌 Monster로)
그런데 작업하신 코드에서는 포인터(주소값)을
엉뚱하게 참조값에 대입해서 문제가 일어난겁니다.
visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.
0
585
1
정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?
0
488
1
strcpy() 구현 관련 질문
0
578
1
빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?
0
498
1
클래스 타입의 포인터 질문합니다
0
581
1
입력값을 enum 값에 넣어주는거 이제 막혔나요?
0
524
1
템플릿 특수화 관련 질문
0
408
1
포인터 관련 질문합니다!
0
289
1
Unable to start assembler. Check your settings.
0
872
2
cpu선택
0
566
1
포인터 질문이 있습니다
0
353
1
20:35 에서 구조체 크기에 대한 질문입니다!
0
606
1
iterator 삭제관련
0
435
1
함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!
0
330
1
15 분 45초 대 질문
0
331
0
스택 프레임 질문합니다!
2
333
1
오른값 참조 in 게임
0
407
0
동적할당 질문이 있습니다
0
474
1
안녕하세요 메모리에 대해 질문드립니다.
0
370
1
함수객체 의 매개변수
0
385
1
복사생성자
0
455
1
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
0
444
1
포인터 실습 강의를 보고 궁금한게 있습니다.
0
372
1
스택 오버플로우
2
822
1

