일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 고민정
- 해킹
- 최강욱
- 양적완화
- libtins
- 스콜피온킹
- 미국 금리인하
- 금리인하
- 은혜의 강 교회
- 홍혜걸
- 임영규
- 제넥신
- 이태원 클라쓰 15회 예고
- 김영권
- 킹덤 고근희
- 성남 코로나 확진자
- 조희연
- 이지혜
- 뭉쳐야 찬다
- 유튜버 김재석
- 폰폰테스트
- 김재석
- 이상형 만들기
- 불가피
- 김영권 아내
- 스페인 코로나
- 픽크루
- 리리남매
- 학교 개학 연기 4월
- 성남은혜의강교회
Archives
- Today
- Total
Dork's port
[C++] thread invalid use of non-static member function error 본문
이번에는 Thread 실행시 어떠한 Class의 멤버 함수를 Thread로 동작시켜 보도록 하겠습니다.
처음에 Thread를 사용할 당시 main()에서 선언된 일반 함수를 실행시키는 것과 같이 아래처럼 Thread의 Parameter를 주었습니다(이때 Wpa2Sniffer Class에 run이라는 Function이 있다고 가정하고 해당 Function의 Parameter 는 void형 입니다).
Wpa2Sniffer wpa2Sniffer; thread t1(wpa2Sniffer.run);
이때 컴파일을 실행하면 invalid use of non-static member function 오류가 나타나게 됩니다.
그래서 아래와 같이 소스코드를 수정하면 정상적으로 동작이 됩니다(참고한 Stackoverflow 사이트에서는 해당 멤버 함수를 static으로 구현하는 것을 권장하였으나, 저는 프로그램 로직상 그렇게 구현하지 않았습니다).
Wpa2Sniffer wpa2Sniffer; thread t1(&Wpa2Sniffer::run,&wpa2Sniffer);
참고 : https://stackoverflow.com/questions/41476077/thread-error-invalid-use-of-non-static-member-function
'Develop' 카테고리의 다른 글
[C++] Kali Linux에서 Mysql 연동해서 사용하기. (0) | 2017.12.13 |
---|---|
[C++] LibTins를 이용한 AP Scanner (Beacon Sniffer,airodump-ng) (0) | 2017.12.13 |
[C++] LibTins를 통한 802.11 Packet Sniff (1) | 2017.12.01 |
[C++] LibTins를 통한 802.11 Decrypt(무선패킷 복호화 하기) (0) | 2017.11.30 |
[C++] 802.11(wireless) 라이브러리 사용하기 (tins Library 사용하기) (0) | 2017.11.20 |
Comments