|
예를 들어 헤더 파일에 다음과 같은 함수를 정의 했습니다.
void run(int a, int b, int c);
그리고 cpp에서
void TForm1::run(int c, int b, int a) <= 파라미터 변수이름을 썩어 놨습니다.
{
....
}
이렇게 해도 컴파일이 되고 실행이 되더군요.
그리고 함수에 다음처럼 값을 넘겨 봤습니다.
run(1,2,3);
cpp에 넘어온 값을 보니.
c= 1;
b=2;
a=3;
헤더에서 정의된 변수 명과 상관없이 cpp에 있는 그대로 1,2,3 이 들어와있더군요..
혹시해서 int 하고 같은 의미인 BOOL 로 헤더파일의 내용을
바꾸어 봤습니다.
void run(int a, BOOL b, int c);
이상없이 잘되네요..
별다른 문제는 안생기는거 같아 보이는데 혹시 이렇게 헤더와 cpp에 함수 파라미터 이름을 서로 틀리게해서
프로그램을 짤때 생길수 있는 문제가 뭐가 있을까요..
지금 프로그램짜다가 정상동작을 하는데 똑같은 파일을 규모가 작은 테스트 프로그램에서 돌릴땐 모두 정상
동작하고 규모가 큰 진행중인 프로젝트에 넣고 돌릴땐 어떤 특정 작업에서 약간의 이상한 동작을 합니다.
아무리 뒤져봐도 별로 문제생길게 없어 보이고 이것저것 넘기는 값도 정상적인데 계속 보다보니
저런 실수가 하나 있었는데..쩝..이게 그런거랑 관련이 있을까 싶어서 문의해 봅니다.
|