0

テンプレート引数によって制御される関数とメンバーを持つことができるクラスを作成しようとしています。このようなことを考えています。

template<int control>
class ControlledDeclaration
{
public:
    if(1 == control)
        int Get() { return 0; }
    else if(2 == control)
        char* Get() { return "get"; }
    else if (3 == control)
        bool Get() { return true; }
};

void test_template()
{
    ControlledDeclaration<1> c_int;
    ControlledDeclaration<2> tx_int;
    ControlledDeclaration<3> b_int;
}

可能であれば、どのように行うのですか?

4

2 に答える 2

1

boost::enable_ifを見てください。これはまさにあなたが望むことを行います。

于 2013-07-31T20:11:57.713 に答える