我看到了下面的代码片段:
class WindowHandle {
public:
WindowHandle(WINDOW_HANDLE handle) : w(handle) {}
~WindowHandle() { destoryWindow(w); }
operator WINDOW_HANDLE() { return w; }
...
private:
WINDOW_HANDLE w;
...
}
这里的问题是:如何使用运算符 WINDOW_HANDLE() 来获取原始指针?我列出我的猜测如下:
WindowHandle win(createWindow());
WINDOW_HANDLE winPtr = win.operator WINDOW_HANDLE(); // I am not sure whether this is correct.
谢谢
最佳答案
简单
WINDOW_HANDLE winPtr = win;
就足够了。用户定义的运算符创建隐式转换。
关于C++——如何调用用户定义的运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130757/