C++ 동적할당 구조체 포인터, 다른 함수에서 사용 질문

조회수 114회

안녕하세요. 간단한 코드를 만들었는데요. 문제를 아시는 고수님들의 조언을 듣고싶습니다.

  1. 구조체의 네임배열에 사람들의 이름을 담고 싶다.
  2. Input함수에서 플레이어 수를 입력받은 후 받은 수만큼 함수 내에서 포인터 Group이라는 새로운 배열을 힙에 할당했다.
  3. 이 힙에 할당받은 Group배열을 Discard라는 함수에서 사용하고싶다.
  4. 하지만 식별자 Group이 정의되어있지 않다고 오류가 뜬다.
  5. SUTDA * Group = new SUTDA[CountPlayer]; 추가시 입력값이 숫자여도 袴袴 식으로 글자 깨짐
#include <iostream>
using namespace std;
int CountPlayer;

struct SUTDA
{
    char Name[20];
};

void Input()
{
    cout << "(최대 10명) 플레이어 수를 입력하세요: ";
    cin >> CountPlayer;
    SUTDA * Group = new SUTDA[CountPlayer]; //힙에 할당했으니까 아래 함수에서도 쓸 수 있어야 되는 거 아니야?

    for (int i = 0; i < CountPlayer; i++)
    {
        cout << i + 1 << " 번째 플레이어의 이름을 입력하세요: ";
        cin >> Group[i].Name;
    }
}
void DistCard()
{
    for (int i = 0; i < 5; i++)
    {
        //SUTDA * Group = new SUTDA[CountPlayer]; //이걸 넣어서 출력시 입력값이 숫자여도 이상한 글자(袴袴袴袴袴袴袴袴袴袴袴袴)들 깨져서 나옴
        cout << Group[i].Name; //Group식별자가 정의되어있지 않다고 뜬다.
        cout << *Group[i].Name; //Group식별자가 정의되어있지 않다고 뜬다.
    }
}
int main()
{
    Input();
    DistCard();
}

2 답변

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.