当前位置:  技术问答>linux和unix

【求助】关于pthread_mutex_t变量的初始化问题

    来源: 互联网  发布时间:2016-02-21

    本文导语:  #include  #include  class A { public:         A(); pthread_mutex_t  m; }; A::A():m (PTHREAD_MUTEX_INITIALIZER) { } int main() {         return 0; } 编译出现错误: testA.cpp: In constructor `A::A()': testA.cpp:14: parse error before `{' token ...

#include 
#include 

class A
{
public:        
A();
pthread_mutex_t  m;
};

A::A():m (PTHREAD_MUTEX_INITIALIZER)
{
}

int main()
{
        return 0;
}

编译出现错误:
testA.cpp: In constructor `A::A()':
testA.cpp:14: parse error before `{' token
testA.cpp:14: parse error before `{' token

请问这是什么原因?应该如何初始化呢?

|

//lock.h 头文件
#ifndef AUTO_LOCK_H
#define AUTO_LOCK_H

#include 

namespace util
{

class  LockableObject {
public:
LockableObject(){};
virtual ~LockableObject(){};

virtual void lock() = 0;
virtual void unlock() = 0;
};

class  ThreadMutex : public LockableObject {
public:
ThreadMutex();
virtual ~ThreadMutex();
virtual void lock();
virtual void unlock();

private:
pthread_mutex_t m_cs;
};

class  AutoLock {
public:

AutoLock(LockableObject* pLockable);
~AutoLock();

private:
LockableObject* m_pLockable;
};

}
#endif
 




 #include "lock.h"
#include 
//lock.cpp 头文件
namespace util
{

ThreadMutex::ThreadMutex() {
pthread_mutex_init(&m_cs, NULL);
}

ThreadMutex::~ThreadMutex() {
pthread_mutex_destroy(&m_cs);
}

void ThreadMutex::lock() {
pthread_mutex_lock(&m_cs);
}

void ThreadMutex::unlock() {
pthread_mutex_unlock(&m_cs);
}

AutoLock::AutoLock(LockableObject* pLockable) {
m_pLockable = pLockable;
m_pLockable->lock();
}

AutoLock::~AutoLock() {
m_pLockable->unlock();
}

}






//main.cpp
#include 
#include "lock.h"
using namespace util;

int main(int argc, char *argv[])
{
 ThreadMutex cs;
 AutoLock(cs);

return 0;
}

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助--java 如何设置环境变量??
  • [求助]在hp-unix如何删除本进程的环境变量。
  • 急!送分求助,java程序中如何读取系统环境变量?
  • 全局变量问题求助
  • 菜鸟求助...设定环境变量
  • sed 脚本求助:变量中含有转义字符处理
  • 求助,JSP与Servlet之间可以引用全局变量吗(Session范围的)?
  • 【求助】请教一下关于条件变量的一个问题。
  • 如何读取文件中一个变量的值,并把这个值前面的空格去掉?求助!!!
  • 【求助】Shell中变量赋值更新
  • 求助,fork函数建立子进程后,如何让子进程和父进程共享一个变量
  • 设置环境变量求助
  • 求助:linux-2.6.28内核编译RT2501内核提示内核net_device数据结构缺少成员变量
  • 新手求助:NET-SNMP中表变量的实现问题
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 怎样读取HZK24S前十区的内容啊???求助求助
  • 紧急求助!紧急求助!
  • 【求助】iplanet问题,求助高手解答!
  • 菜鸟求助,solaris下计算问题求助
  • 【求助】SOS紧急求助..............极为简单的问题...跪求....
  • 高分求助啊!求助SUSE 10.0 不能上网.
  • 急急急急急急急啊,紧急求助啊!!!!!满分求助啊!!!!!!
  • 求助:linux下 vim的配置(高分求助)
  • red hat怎么安装gcc啊!总是出错,求助求助啊!!!yum源怎么改啊!!
  • 求助~~求助 ~~linux文件读写问题
  • 求助:信号 --13 进程中断
  • 求助,安装了红帽子后进不了
  • 新装linux求助
  • linux的 iptables问题求助
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 一个简单的问题,高分求助!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3