나는 다음과 같은 함수 선언을해야: CONST 포인터 포인터 없습니다
int vectorQuantization(const Color **input, Color **output,
const int rows, const int cols, const int numColors);
나는 내 메인 함수에서 호출하려고 할 때 오류 "VectorQuantization '에 대한 호출에 대한 일치하는 기능을 얻을 ''.
Color *input2quantize;
Color *outputQuantized;
...
...
vectorQuantization(&input2quantize, &outputQuantized, rows, cols, 10);
는 내가 뭘하려고했던 것은 함수 내에서 수정할 수 없습니다 내가 그것을 선언하는 등의 일정을 만들 것이라고 생각 있도록 함수 상수의 입력을 확인하는 것입니다. 여기에 무엇이 누락 되었습니까? 포인터 대신 포인터를 사용하는 것에 대해 생각하고 있었지만 혼란 스러웠습니다. 두 가지 질문이 있습니다.
- 이 오류를 어떻게 해결할 수 있습니까?
- 포인터 대신 const 포인터 대신 참조를 사용하는 것이 더 좋습니까? 원하는 경우
typedef Color * ColorPtr; ColorPtr input2quantize; int vectorQuantization(ColorPtr const * input); vectorQuantization(&input2quantize);
, 당신은 함수 인수도
Color * const * input
로 타이프 철자 수 :
vectorQuantization ((const를 컬러 &) input2quantize, outputQuantized (CONST의 int)를 행 (CONST의 int)를 COLS (CONST의 INT) 10); – Lefsler