그래서 내가 직면하고있는 문제는 내 데이터 구조 클래스 constructor
작품은 내가 parameters
의 가변 길이로 클래스를 선언 할 수 있다는 것입니다 :C++ 템플릿 가변 인자 클래스 매개 변수 팩 작업 생성자하지만 기능하지
template<class T>
class Dynarray
{
private:
int size;
public:
template<class T, typename... Arguments>
Dynarray(T item,Arguments...)
{
size = sizeof...(Arguments);
}
}
그러나 경우 나는 추가 공개 멤버 함수 그래서 난과 같이 클래스에 더 추가 할 수 있습니다 추가
:template<class T>
class Dynarray
{
private:
int size;
public:
template<class T, typename... Arguments>
Dynarray(T item,Arguments...)
{
size = sizeof...(Arguments);
}
/////////////////////////////////////////////////////////
template<class T, typename... Arguments>
void Dynarray<T>::AddGroup(T item, Arguments...)
{ //Errors C2838, C2059, C2334
size += sizeof...(Arguments);
}
/////////////////////////////////////////////////////////
}
나는 에러 코드를 얻을
C2838 'AddGroup': illegal qualified name in member declaration
C2059 syntax error: '{'
C2334 unexpected token(s) preceding '{'; skipping apparent function body
클래스 템플릿이 올 때 Constructors
과 Member Functions
사이에 차이가 있습니까? 해결 방법에 대해 알고 있습니까?
는에 노력하고 지난 주 거의 직행이 아니며 방금 내 생명을 구했습니다. 정말 고맙습니다! –