#include <boost/type_traits.hpp>
#include <boost/utility.hpp>
using namespace boost;
struct Serializable{};
struct Derived : Serializable {};
class Serializer
{
public:
template <typename ValueType>
void operator& (const typename enable_if<is_base_of<Serializable, ValueType>, ValueType>::type& value) {
;
}
};
int main() {
Serializer serializer;
Derived tar;
serializer & tar;
return 0;
}
我使用的是 g++4.4.7,它给了我一个编译错误:错误:'serializer & tar'中的'operator&'不匹配</p>
如何实现专业化?