작성
·
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);
이런식으로 변환이 안되던 거였군요 이거 이렇게 바꾸니 오류가 사라졌습니다 ^^