4

これは C++ では不可能だと思います。動作をシミュレートするにはどのようなオプションが必要ですか?

4

3 に答える 3

11

用途std::is_base_of:

template<typename T>
class A
{
    static_assert(std::is_base_of<IMyInterface, T>::value, 
                  "T must derive from IMyInterface");
};

関数テンプレートでも同じことができます。

于 2012-12-06T18:29:33.733 に答える
6

を使用std::is_base_of<YourInterface, YourParameter>して、結果が の場合はエラーにすることができますfalse。これは C++11 であることを忘れないでください。

于 2012-12-06T18:29:55.007 に答える
3

ポリモーフィック インターフェイスまたは静的インターフェイスですか? 後者はBoost Conceptsで確認できます。

于 2012-12-06T18:30:51.327 に答える