이 구조체가 있습니다. 내가 뭘 하려는지는 하드 드라이브에 memcpy를 계속하기위한 램 공간을 갖는 것이다. 동적으로 생성 된 문자열을 키로 사용합니다. 이 일을 할 수있는 구조체를 만들고 싶습니다. 템플릿을 사용하고 이것을 만들었습니다.가변적으로 수정 된 유형의 char []
template <class ItemType> struct INXM_Node {
ItemType key;
int left;
int right;
int next; // Used for queue.
} ;
나는 실행했다 : 나는 변수로 100을 변경하려고 할 때까지
INXM_Node<char[100]> *root = new INXM_Node<char[100]>();
모든 것이 좋았다. 나는 함수에서 인자로 attrLength을 복용하고
sizeof(INXM_Node<char[attrLength]>);
: 내가 달릴 무엇
'char [(((long unsigned int)(((long int)attrLength) - 1)) + 1u)]' is a variably modified type
했다 : 그 때 나는 오류가 발생했습니다. 다른 문자 배열을 사용하여 여러 구조체를 생성해야합니다.
키워드'class','template' 및'new'로 인해 C 태그가 제거되었습니다 – Flexo
컴파일 타임에 유형을 알고 있어야합니다. 즉, 배열 유형은 ** 컴파일시 알려진 크기 **로만 형성 될 수 있습니다. 당신의 디자인 접근법은 아마도 재 작업되어야합니다. 왜 당신의 목표를 게시하지 않습니까? –