我有一个名为MutexLock
的类,它的作用就是在构造时锁定互斥量,在析构时释放它:
class OpenEXRMutexLock
{
#ifndef HAVE_PTHREADS
public:
OpenEXRMutexLock() : lock(openEXRmutex) { }
private:
std::unique_lock<std::mutex> lock;
#endif
};
当定义了HAVE_PTHREADS时,当我执行以下操作时,gcc 4.9.1会抱怨未使用的变量:
OpenEXRMutexLock lock;
当然,该类旨在仅在构造和自动销毁时使用。
目前,我做了一些丑陋的事情:我添加了。
void OpenEXRMutexLock::dummyFuncAvoidingWarnings() const {}
并且在任何地方都可以调用它:
OpenEXRMutexLock lock;
lock.dummyFuncAvoidingWarnings(); //Eeerk
有没有一种方法可以避免这个问题,而不需要在整个项目中禁用未使用变量的警告?