C++에서 mutex변수 초기화 할때요...
글쓴이: junteken / 작성시간: 목, 2004/10/21 - 4:11오전
class의 member function에서 다음과 같이 mutex변수를 초기화하는
코드를 넣었습니다.
pthread_mutex_t mutex_lock= PTHREAD_MUTEX_INITIALIZER;
그랬더니 다음과 같은 에러가 나네요....
***에러 메시지*********
UpLoadManager.cpp:108: parse error before `{' token
UpLoadManager.cpp: At global scope:
UpLoadManager.cpp:109: ISO C++ forbids declaration of `m_MutexMain' with no type
UpLoadManager.cpp:109: initializer for scalar variable requires one element
UpLoadManager.cpp:110: ISO C++ forbids declaration of m_MutexChild' with no type
UpLoadManager.cpp:110: initializer for scalar variable requires one element
*****에러메시지**********
어떻게 된일일까요?....답변 부탁드립니다.
그럼 행복하세요~~~
Forums:
pthread_* 류의 초기값은 구현자의 마음대로 기본타입의 값일 수도
pthread_* 류의 초기값은 구현자의 마음대로 기본타입의 값일 수도 있지만 구조체인 경우도 있습니다.
해당 플래폼의 pthread.h 파일을 한번 확인해보시기 바랍니다.
[quote="Anonymous"]pthread_* 류의 초기값은 구현자
생성자 초기화 리스트에서 바로 사용하지 못하는 경우가 있습니다.
요즘 바깥에서 글 쓸일이 많은데... 손님 제도가 발목을 잡는군요... 로그인!!!
[quote="bugiii"][quote="Anonymous"]pthre
제가 초보라 말씀하신뜻을 잘 모르겟네요..
구조체라면 어떤방식으로 초기화 해야하나요?
제가 c로 해서 전역변수로 했을때 위와같이 초기화
했는데 잘 되었거든요...
C++에서는 다른 형태로 초기화해야 하는건가요?
흠....
PTHREAD_MUTEX_INITIALIZER 자체가 구조체 변수를 초기
PTHREAD_MUTEX_INITIALIZER 자체가 구조체 변수를 초기화하는 구문으로
#define 되어 있지 않습니까? 에러가 나는 코드를 봐야 알 수 있겠는데요.
댓글 달기