我是 C++ 的新手,这个声明让我感到困惑:
服务.h:
class ServiceHandle {
public:
ServiceHandle(SC_HANDLE h) : handle(h) {}
...
operator SC_HANDLE() const {return handle;}
protected:
SC_HANDLE handle;
};
我已经通过此处列出的构造函数之外的其他方式创建了一个 ServiceHandle
对象。我想让实际的 SC_HANDLE
传递给 ChangeServiceConfig
,我该如何得到它?我假设它与运算符(operator)有关,但我不知道如何使用它。
最佳答案
您只需在期望SC_HANDLE
的表达式中使用ServiceHandle
类型的对象。您所说的运算符 是SC_HANDLE
的转换运算符。此运算符会自动“使用”。
关于c++ - 如何使用类中定义的 "operator X()"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008291/