[ create a new paste ] login | about

Link: http://codepad.org/YBq59zbl    [ raw code | output | fork ]

GManNickG - C++, pasted on Oct 26:
template <typename T, T V>
struct rob
{
    struct filler
    {
        filler() { value = V; }
    };

    static T value;
    static filler fill;
};

template<typename T, T V>
T rob<T, V>::value;

template<typename T, T V>
typename rob<T, V>::filler rob<T, V>::fill;

struct A
{
private:
    void f()
    {
        std::cout << "proof!" << std::endl;
    }
};

template class rob<void(A::*)(), &A::f>;

int main()
{
    A a;

    (a.*rob<void(A::*)(), &A::f>::value)();
}


Output:
1
proof!


Create a new paste based on this one


Comments: