할당되었지만 초기화되지 않은 문제가 있습니다. 여기은 할당되었지만 초기화되지 않았습니다.
코드의 일부이다 : 코드의 라인 (3)에 웰
void test2(vector<string> names, int num) // just for test
{
const char **tmp = new const char *[num]; // issue happends here.
for(int i = 0; i < num; i ++)
tmp[i] = names[i].c_str(); // is it not inialization???
//call another function using tmp
delete []tmp;
}
나는 문제점을 가지고 : 할당 "TMP"= "새로운 숯 CONST * NUM]를"인 할당되었지만 초기화되지 않았습니다.
나는 2-d 어레이 할당 및 초기화와 혼동을 느낀다고 생각합니다. 나는 tmp가 const char * 배열이라고 생각하고 vertor를 const char **로 변환하려고한다.
코드에서 새 코드를 사용하고 여기에서 삭제하는 것이 옳은가요?
만약 2d 배열이 int * 이라면, 그 값에 값을 할당하고자한다면, 새로운 int [num]을 필요로하고 for 루프를 새로운 int []; 내 사건은 어때?
누군가이 코드 조각을 도와 줄 수 있습니까?
상수는 일정합니다. –
당신이 가지고있는 문제는 무엇입니까? 컴파일러가 불평하고 있습니까? 그렇다면 메시지를 게시하십시오. 코드가 기대하는대로 작동하지 않습니까? 코드를 어떻게 연습하고 있는지, 실제로 무엇을하고 싶은지 설명하십시오. –
질문에있는 코드가 문제가있는 코드와 실제로 같지는 않을 것 같습니다. –