배열이 있으므로이 변수를 private 멤버 변수로 사용하고 싶습니다. 내 프로그램이 선택 정렬을 구현하는 방식은 배열의 크기에 따라 달라지는 기본 메소드이며, 생성자는 전달되어 지정된 크기로 새 배열을 만듭니다.C++ 멤버 전용 배열 변수 - 컴파일시에 정의되지 않음
저는 Java로 해왔지만 C++로는 알 수 없습니다. (이 웹에서 다른 사람들의 게시물을 살펴본 후 내 변수를 정적으로 만들어야한다는 것을 알았습니다)
감사합니다.
[ArrayS.h]
public:
ArrayS(void);
ArrayS(int max);
~ArrayS(void);
private:
static long a [0];
[ArrayS.cpp]
ArrayS::ArrayS(void)
{
}
ArrayS::ArrayS(int max)
{
long ArrayS::a [max];
nElems = 0;
}
감사합니다.
배열의 크기가 다를 수있는 경우'long a [0]; '을 사용하지 마십시오. '0'은 정확한 크기가 아닙니다. 'std :: vector a; ' –
을 사용하십시오. 런타임에 정의 된 크기의 배열을 생성하려면'std :: vector' 또는 유사한 것을 사용하십시오. '정적'은 당신을 아무 곳에도 데려 갈 수 없습니다. – chris
'정적'데이터 멤버가 필요하지는 않습니다. – juanchopanza