簡介 C++ 的 Type Erase (用多型和模板做 Duck Type)
起點
讓我們先從 template 出發:foo 需要一個 callback function。
template<typename Func>
void foo(Func callback) {
// ...
callback();
}
但是這會讓編譯錯誤訊息有點模糊:假如 callback 並不是一個可以呼叫的函數指標,或者並不是一個 callable object ,那編譯
notes.mukyu.dev3 min read