C++ - 如何调用用户定义的运算符?

q09*_*987 2 c++

我看到了以下代码片段:

class WindowHandle {
public:
  WindowHandle(WINDOW_HANDLE handle) : w(handle) {}
  ~WindowHandle() { destoryWindow(w); }

  operator WINDOW_HANDLE() { return w; }
  ...

private:
  WINDOW_HANDLE w;
  ...
}
Run Code Online (Sandbox Code Playgroud)

这是一个问题:如何使用运算符WINDOW_HANDLE()来获取原始指针?我列出我的猜测如下:

WindowHandle win(createWindow());

WINDOW_HANDLE winPtr = win.operator WINDOW_HANDLE(); // I am not sure whether this is correct.
Run Code Online (Sandbox Code Playgroud)

谢谢

Ben*_*igt 6

只是

WINDOW_HANDLE winPtr = win;
Run Code Online (Sandbox Code Playgroud)

足够了.用户定义的运算符创建隐式转换.