template< typename T >
class IHoge
{
public:
virtual void Func( const T arg ) = 0; // 問題の部分
};
class Data
{};
class Piyo
: public IHoge<int>
{
public:
virtual void Func( const int arg ) {}
};
class Foo
: public IHoge<Data>
{
public:
virtual void Func( const Data& data ) {}
}
boost::call_traitsはそもそもtemplate parameterを直に渡すべきでないと教えていただきましたので、知ってい方がいればお願いします。
Visual Studio 2012で開発しています。