0
이러한 동작을 구현할 수 있습니까? 그것은 상속을 사용할 필요가 없다. 나는 (C++ 템플릿으로) 일반적인 인자를 전달하는 템플릿 메소드 디자인 패턴을 구현하기를 원한다.나중에 구현 된 함수를 사용할 클래스 메서드 템플릿을 만듭니다.
class A {
public:
template<typename ...tArgs>
void call(tArgs ...vArgs) {
for (int i = 0; i < 5; ++i)
impl(vArgs...);
}
};
class B : public A {
public:
void impl() {}
void impl(int) {}
};
int main() {
B b;
b.call(); // ok
b.call(1); // ok
b.call(""); // compile error, no method to call inside 'call'
return 0;
}
. 귀하의 예제에서 컴파일 시간에'const char *'에 대한 과부하가 없으므로 컴파일 오류가 발생합니다. –
[그 코드의 유일한 오류는 아닙니다.] (http://coliru.stacked-crooked.com/a/6dc7e20197d5f898)'impl'이 해결할 수 없기 때문에'call'을 호출 한 사람은 없습니다. – WhozCraig
이 예제는 마지막 호출이없는 이벤트는 작동하지 않습니다. 나는 단지 원하는 행동을 묘사했다. – omicronns