그래서, 나는 지금까지 이런 일이? IOW, 다른 멤버 함수를 Foo
으로 전달하고 싶습니다. 그러나 대부분은 DoNothing
에서 이 기본값이됩니다. 우리는 모든 멤버 함수를 안전하게 가정 할 수있다. 나는 인자를 취하지 않는다.기본값은
Q
기본값은
1
A
답변
2
Func(...)
의 기본값은&Foo::DoNothing()
입니까?
당신은 기본적으로 그냥 필요한 기본 인수를 지정
struct Foo { int DoNothing() const { } };
template<
typename T,
typename C,
typename R = decltype(std::declval<const C>().DoNothing())
>
T Func(C const* obj,
R (C::*mf)() const = &C::DoNothing,
T* maybe_unused = nullptr)
{
(obj->*mf)();
return T{};
}
주 당신이 다른 두 가지를 지정해야합니다 : 하나의 기본 멤버 함수를 위해 같이 전화를 추가로 기본 반환 값 유형을을 기본 주장에서 추론 될 수 없다.
0
변경 Func을에 :
template<typename T, typename R, typename C>
T Func(C const* obj, R (C::*mf)() const=&C::do_nothing, T* maybe_unused = nullptr)
{
...
}
과 나뿐만 아니라 const를 할 do_nothing()을 변경 : obj가 CONST이기 때문에 실제로으로 변경해야한다고
가template<typename T, typename R, typename C>
T Func(C const* obj, R (C::*mf)()=&C::do_nothing, T* maybe_unused = nullptr)
{
...
}
참고.
관련 문제
- 1. 기본값은
- 2. 기본값은
- 3. 기본값은
- 4. 기본값은 Zend_Form_Element_Select입니다.
- 5. 재정의 기본값은
- 6. 설정 기본값은
- 7. 설정 기본값은
- 8. dijit.Calendar 기본값은
- 9. 앵커의 기본값은
- 10. 설정 기본값은
- 11. 보관할 기본값은
- 12. 기본값은 SSRS
- 13. AS3 기본값은
- 14. OpenERP 기본값은
- 15. gtk PrintSettings 기본값은 무엇입니까?
- 16. 속성의 기본값은 nil입니까?
- 17. 맥 쉘 변경 기본값은
- 18. 동적 유형의 기본값은 무엇입니까?
- 19. 기본값은 어디에 두어야합니까?
- 20. kCGImageSourceShouldCache의 기본값은 무엇입니까?
- 21. Ruby : 정의의 기본값은 무엇입니까?
- 22. 여기서 organizationName의 기본값은 sbt에서입니다.
- 23. MVC 기본값은 항목
- 24. InstallShield - Reinstallmode 기본값은 'vomus'입니다
- 25. android의 기본값은 무엇입니까? vmSafeMode?
- 26. Nagios의 기본값은 시간대를 벗어납니다
- 27. 레일 i18n 기본값은
- 28. 기본값은 DBNull.Value와 같습니다.
- 29. Schema.Types.ObjectId 기본값은 null이 아닙니다
- 30. UIPickerView 기본값은 Null입니다.
그건 문제가되지 않습니다. –
@ ForeverLearning 유일한 오류는 Foo f가 const가 아니라는 것입니다. 그렇지 않으면 괜찮습니다. –
@JakeFreeman 그래서 당신 의견에 * 문제가 무엇입니까? – Jodocus