std::string
배열을 동적으로 할당하고 싶습니다. 할당 할 수있는 기능이 있습니다. 프로그램을 통해 원하는만큼 여러 번 함수를 호출 할 수 있습니다. 배열에 대한 포인터가 이미 할당되어 있으면 먼저 메모리를 해제 한 다음 새 메모리를 할당하려고합니다.동적으로 std :: string 배열을 할당하십시오.
std::string *names;
bool already_allocated = false;
void allocate(int n)
{
if(already_allocated)
{
delete names;
}
names = new std::string[n];
already_allocated = true;
}
int main()
{
allocate(5);
allocate(6);
return 0;
}
그러나 delete names
내가 뭔가를 오해하고있는 라인 2 allocate()
호출 런타임 오류를주고있다 : 여기
내가 시도 무엇인가?
'std :: vector'및'크기 조정 '을 사용하지 않는 이유는 무엇입니까? –
Andrei