나는 추상적 인 기본 클래스를 정의한 다음 해당 유형의 배열 (분명히 파생 클래스의 인스턴스로 가득)을 함수 매개 변수로 전달하려고하지만 컴파일러는 저에게 소리 지르고 있습니다. 어떤 아이디어? 예를 들어추상화 된 배열을 함수 매개 변수로 전달하는 방법은 무엇입니까?
("시험 가능한"는 추상적이다 "Vecteur는"콘크리트입니다) :
는void Testeur::commencerTest(Testable testables[], int nTestables, string titre) {
cout << "\n" << titre << "\n";
for (int i=0; i < nTestables; i++) {
testables[i].afficher();
}
}
// in main function:
Vecteur v1 = Vecteur(1,2,3);
Vecteur v2 = Vecteur(4,5,6);
Vecteur vecteurs[] = { v1, v2 };
int nVecteurs = 2;
this->commencerTest(vecteurs, nVecteurs, "Some text");
컴파일러는 위의 코드의 첫 번째 줄에 invalid abstract type ‘std::Testable’ for ‘testables’
을 말한다.
추상 형식의 배열을 함수 매개 변수로 전달하려면 어떻게해야합니까?
오류 메시지는 허용되지 않는'std' 네임 스페이스 내에'Testable'을 정의했다는 것을 의미합니다 ... –
Testable –