我有一堂这样的课:
template<typename T>
class wrapper
{
public:
operator const T & () const
{
return value;
}
private:
T value;
};
然后我将它与这样的结构一起使用:
struct point { float x; float y; };
//...
wrapper<point> myPoint;
std::cout << myPoint.x;// error: no member x or whatever.
我想知道是否有办法允许这样做而无需执行 ((point)myPoint).x。我知道我可以重载 -> 运算符,但我不想这样做,因为它应该“假装”为非指针。