저는 포럼과 서적을 읽음으로써 C++을 배우기 때문에 프로그래머의 세계에 익숙하지 않습니다. 나는 배우려고 열망하므로 제발 내 코드를 개선하는 것을 망설이지 말라!C++에서 전달 된 구조체 배열에 액세스
함수에 전달한 구조체 배열에 액세스하는 데 문제가 있습니다. 데이터가 저장되지 또는 내가 엉뚱한 곳에서 찾고 있어요 중 하나가이기 때문에 액세스 위반을 얻을
struct Comber
{ double real;
double im;
double mod;
};
int main (void)
{
struct Comber *Nmbr=NULL; //Nmbr Initialised for passing to Read where it's re-declared
int N;
Read(Nmbr, N);
Module(Nmbr, N);
}
void Read (Comber *Nmbr, int &N)
{
cout<<"\nHow many of those numbers do you have ?\t";
cin>>N;
Nmbr = new struct Comber [N];
for(int i=0;i<=N;i++)
{
cout<<"#"<<i<<"\nreal :\t";
cin>>Nmbr[i].real;
cout<<"img :\t";
cin>>Nmbr[i].im;
cout<<"-----"<<endl;
}
}
void Module (Comber *Nmbr, const int &N)
{
for(int i=0;i<N;i++)
{
//Here's where my problem is at.
Nmbr[i].mod=sqrt(pow(Nmbr[i].real,2)+pow(Nmbr[i].im,2));
}
}
: 다음은 내 코드입니다. (맞습니까?) 그래서 실수가 읽기 또는 모듈에 있는지, 실제로 무엇인지 궁금합니다.
감사합니다.
관련이 없지만 실제로는 참조로 'N'을 전달해야합니다. 이것은 마치 C 코드처럼 쓰여졌습니다. – Brian
조언 해 주셔서 감사합니다. 그냥 그것이 의미하는 것을 훑어 보았고 그것은 실제로 더 단순하고 더 잘 쓰여졌을 것입니다. – Moontail