인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

롤로노이님의 프로필 이미지
롤로노이

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

환경 설정

정말 햇갈리는 부분이 있습니다(포인터&참조)

작성

·

174

0

void CreatePlyer(Statinfo* Plyerinfo);

 

struct Statinfo

{

int hp = 100;

int attack = 10;

int mp = 20;

int defence = 10;

 

};

        Statinfo Plyerinfo;

CreatePlyer(&Plyerinfo);

void CreatePlyer(Statinfo* Plyerinfo)

{

          Plyerinfo->hp = 300;

}

요기서 이 빨간 부분을 전 참조형태로 보내고 싶습니다

그래서 이 빨간 부분을Statinfo& Plyerinfo 이렇게 바꾸고

밑에 있는 Plyerinfo.hp 이런식으로 바꿨습니다

 

그리고 그 위에

CreatePlyer(&Plyerinfo); 이부분을

CreatePlyer(Plyerinfo); 이런식으로 바꿨는데 참조되지 않는 어떤 형식이라고 자꾸 오류를 밷어 내는데 

다른 int 형 이나 배열등등은 이런식으로 넘겨지는걸로 아는데 왜  struct  구조체는 안넘어 가는지 이해가 되지 않습니다

 

혹시 제가 지금 뭘 잘못하고 있는건지 알려주실수 있나요?

 

 

글을쓰고 한참 보고난 후에 뭐가 잘못됬는지 알았습니다 

 

제일 위에 함수 선언하는곳에서 

void CreatePlyer(Statinfo* Plyerinfo);

이렇게 선언을 해서 

void CreatePlyer(Statinfo& Plyerinfo); 

이런식으로 변환이 안되던 거였군요 이거 이렇게 바꾸니 오류가 사라졌습니다 ^^

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

 ㅎㅎㅎ C++이 참 문법이 피곤하죠

롤로노이님의 프로필 이미지
롤로노이

작성한 질문수

질문하기