int의 2D 배열이 int **로 구현 된 클래스가 있습니다. 나는 그것을 편집 할 수있는에서 사용자를 방지하기 위해 ** CONST의 INT를 반환으로는 다음이 2 차원 배열에 접근 기능을 구현 :int **에서 const int ** 로의 변환이 잘못되었습니다 **
const int** Class::Access() const
{
return pp_array;
}
을하지만 컴파일 오류 "에 INT **에서 잘못된 변환을 얻었다 const int ** ". const로 프로모션이 허용되지 않는 이유는 무엇입니까? 권리를 수정하지 않고 사용자에게 정보에 대한 액세스 권한을 부여하려면 어떻게해야합니까?
참고 : 여기에
는int**
가const int**
와 호환되지 않는 이유 의 데모 당신의 변수 이름은 숫자로 시작할 수 없습니다. – chris맞습니다. 실제로 코드에있는 것이 아닙니다. 이제는 이름을 일반화하는 데있어 저의 감시가 있습니다. –
1D 벡터를 캡슐화하는 Matrix 클래스는 데이터를 보유하기 위해 실제로 잘 작동합니다. 2D 포인터 배열보다 훨씬 낫습니다. 그것은 또한 이와 같은 혼란을 제거합니다. – chris