quotes self

Here is a better example, showing that virtual function pointers are available at compile time in C++. Essentially, I would expect my D code to function similarly, but it won't compile.

class TestAddr {
    public: virtual void test() { cout << "test" << endl; }
};

template<void (TestAddr::*FN)()>
class PtrWrapper
{
public:
    void invoke(TestAddr *instance) { (instance->*FN)(); }
};

int main(int argc, const char * argv[])
{
    TestAddr test;
    PtrWrapper<&TestAddr::test> wrapper;
    wrapper.invoke(&test);
    return 0;
}

Reply via email to