머리말 :C++ - 브레이스 - 목록 초기화에도 불구하고 알 수없는 크기 할 수 없습니다 '새로운'배열?
나는이 문제에 관해서 아무것도 발견하지 못했다. 내가 찾은 유일한 것은 사람들이 동적으로 int* p = new int[];
내 문제처럼 말했다 배열의 크기에 대한 정보를 제공하지 않고 배열을 할당하는 것은 다릅니다
float arr[]{ 1,2,3 };
float* p = new float[]{1, 2, 3};
첫 번째 줄은 잘 컴파일의이 두 번째는하지 않습니다
배열의 크기는 새로운 표현으로 지정해야합니다 오류 C3078
필자는 왜 컴파일러가 첫 번째 경우와 같이 목록 초기화에서 배열 크기를 평가하지 않았을까 궁금합니다.
std :: vector p = {1, 2, 3}':) –
CoryKramer
제 질문은 동적으로 할당 된 배열의 첫 번째 요소의 메모리 주소를 저장하는 원시 포인터에 대한 것입니다. STL 벡터 클래스를 사용하고 싶다면 이미 그렇게했을 것입니다. – gedamial
우리는 여기에 임의의 제약을 좋아하지 않는다 - 당신은 또한 우리가 어렵게 자신의 삶을 어렵게으로! –