CLASS_A
클래스의 생성자 안에 ARRAY
배열을 초기화하려고하는데이 배열은 중첩 클래스 CLASS_B
에서 액세스 할 수 있어야합니다. 배열을 템플릿으로 만들려고 생각했지만 문법에 관해서는 약간 퍼지기 시작했습니다.정의되지 않은 참조 ... 배열을 선언하려는 중첩 클래스에서?
나는 배열 정적을 선언하면 솔루션의 일부임을 거의 확실 어쩌면 유형 const int
이 A
같은 템플릿 그럼 템플릿 template <class A, const int D>
및 선언 A ARRAY[SIZE];
과 같을 것이다 만들고있어. 어쨌든 처음에는이 오류가 아래 코드를 컴파일하고 다음 몇 가지 변경 및 다른 오류가 있어요.
이
길nested_class_incomplete_type.cpp|16|undefined reference to `CLASS_A<3>::ARRAY'|
nested_class_incomplete_type.cpp|28|undefined reference to `CLASS_A<3>::ARRAY'|
편집 중복 코드에 의해 링커 오류입니다.
대답 읽기 그것을 사이트와 비교하십시오. 내 코드를 컴파일하여 링크에있는 모든 것을 알 수 있습니다. 그것과 아무 상관이 없습니다. – pandoragami
그것은 그것과 관련이 있습니다. 정적 데이터 멤버를 정의해야했습니다. – juanchopanza