헤더 파일을 사용하지 않고 타사 라이브러리를 사용하고 싶습니다. 내 코드는 자체 네임 스페이스에 있으므로 전역 네임 스페이스를 오염시키지 않으므로 기존의 전달 선언을 사용할 수 없습니다. 현재 나는 다음과 같은 것을 가지고 있습니다 :전방 네임 스페이스 내에 전역 유형을 선언하십시오.
3rd-party-library.h----
typedef struct {...} LibData;
void lib_func (LibData *);
my-source.h-----
namespace foo {
/*forward declaration of LibData*/
class Abcd {
public:
void ghj();
private:
Libdata *data_;
};
}//namespace foo
my-source.cpp-----
#include "my-source.h"
#include <3rd-party-library.h>
namespace foo {
typedef ::LibData LibData;
void Abcd::ghj() {
//do smth with data_
}
}//namespace foo
네임 스페이스에있는 방식으로 전역 유형을 전달할 수 있습니까? 단순한 typedef는 작동하지 않습니다.
코드를 포맷하려면 "01"버튼을 사용하십시오. –