2012-07-16 2 views
0

IST 포인터는 GDB 디버거와 GCC를 넷빈즈

void function (const char **params)  
{ 
    const char *para;  
    para = &params[0]; //1 
    para = params;  //2 
    para = *&params; //3 
} 

3 개 옵션

가 넷빈즈의 GDB하지만 GCC로 컴파일됩니다 내 질문이 호환되지 않는 포인터 유형에서 할당과 같은 s 번째는 말한다.

왜이 differnce .... GCC 4.6.1와 제가 * 파라와 ** PARAMS의 값을 가리 키도록 GCC에서 할 수있어 세 가지 경우 모두에서

+0

para = && params; ? –

+0

불행히도 ... netbeans 오류 및 gcc params가 사용되었지만 정의되지 않았습니다. 오류 – Fendrix

+0

char * para = params [0]; gcc/llvm와 함께 작동 –

답변

3

, 권리의 종류 - 핸드 쪽은 const char **이며 캐스팅하지 않고 const char *에 지정할 수 없습니다.

경고 수준을 충분히 높이면 모든 컴파일러에서 경고해야합니다.

당신이하고 싶은 것이 명확하지 않습니다; 첫 번째 하위 배열의 시작 부분을 가리키고 싶다면 다음과 같이 입력하면됩니다.

para = params[0]; 
+0

고마워 ....이 또한 캐스팅 없이도 작동했습니다. const char * para; para = params [0]; 그냥 ... 캐스팅 (char *)을 어떻게하면 좋을지 말해 주시겠습니까? ..... – Fendrix