함수의 파라미터에서 const를 사용할 때 말인데요,
#include <iostream>
void test(const int *j) {} // 값 변경 x
int main(void){
int a=3;
int *const x=&a; // 주소 변경 x
test(x);
}
#include <iostream>
void test(int *const j) {} // 주소 변경 x
int main(void){
int a=3;
const int *x=&a; // 값 변경 x
test(x);
}
첫 번째 코드는 잘 동작하는 반면, 두 번째 코드는 컴파일 에러가 발생합니다.
왜 첫 번째에서는 const가 붙는 위치가 함수의 파라미터와 변수 선언에서 서로 달라도 에러가 안나는데
두번째에서는 에러가 나는건가요?