我有一个名为 的类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
有没有办法在不禁用整个项目的未使用变量警告的情况下避免这种情况?