C++에서 다중 포인터 메모리 할당하는 것에 대해 여쭙니다.

이한길의 이미지

다음처럼 하는 게 C++에서 표준인가요? 아닌가요?

char** buffer = new (char*)[bufferSize];

저는 g++에서 되길래 그냥 되는 줄 알았습니다.
그런데 비주얼 스튜디오에서는 안되는군요..

표준이 아니라 안된다면 C++에서 메모리 할당할때 무척 곤란하겠네요..ㅜㅜ;

그럼 어떻게 해야 하는거지요?

char** buffer = (char **)new char[bufferSize];

머.. 이런 식으로 해야 하는건가요?
아니면... 크기를 맞춰야니깐..

char** buffer = (char **)new char[sizeof(char**)*bufferSize];

이렇게인지도... 모르겠습니다... 휴~

hanseok의 이미지

이한길 wrote:

char** buffer = new (char*)[bufferSize];

char** buffer = (char **)new char[bufferSize];

char** buffer = (char **)new char[sizeof(char**)*bufferSize];

잘은 모르지만.

char** buffer = new char* [row];

for ( i = 0 ; i < row ;i++ )
buffer[row] = new char[col];

이것 아닌가요? ^^ 괄호가 문제인듯하네요.

잠이 들어야지만 꿈을 꿀수 있는것인가?
우리는 항상 꿈을 쫓아 가며 살아가는 사람들..

Seven..의 이미지

char **ctmp=new PCHAR[argc];

PCHAR로 해보세요 :D

VENI VIDI VICI

이한길의 이미지

hanseok wrote:
잘은 모르지만.

char** buffer = new char* [row];

for ( i = 0 ; i < row ;i++ )
buffer[row] = new char[col];

이것 아닌가요? ^^ 괄호가 문제인듯하네요.

오늘에서야 확인을 해봤습니다.
괄호가 문제가 맞네요.. 감사합니다.

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com