为什么如果我在此代码中重载 -> 运算符
class subobj
{
public:
void get()
{
printf("ea");
}
};
template<typename T> class testPT
{
public:
T* operator->()
{
return ptr;
}
T* ptr;
};
int main()
{
subobj myobj;
testPT<subobj> myclass;
myclass.ptr = &myobj;
myclass->get();
return 0;
}
我打印了“ea”字符串?
通过使用“myclass->”,它应该只返回一个 T*,一个指向对象的指针。我应该做类似的事情
我的类->->get()
实际调用 get() 例程。我哪里错了?