定义一个类的对象时,编译报错:error: 'NMIap2StackDevAudioCmp' does not name a type,该如何解决
定义一个类的对象时,编译报错:error: 'NMIap2StackDevAudioCmp' does not name a type
使用的类:
class NMIap2StackDevAudioCmp : public NMIap2StackRestCmp
{
public:
explicit NMIap2StackDevAudioCmp(NMIap2StackCtx& context):
NMIap2StackRestCmp(context)
{
m_record.clear();
}
virtual ~NMIap2StackDevAudioCmp() {}
public:
virtual BOOL onEvent(NMIap2StackEvt& event);
virtual BOOL onProcReq(NMIap2StackRequest& request);
virtual BOOL onProcRes(INT pkUID, ComErrorCode code);
virtual BOOL onUsbDevSampleRateUpd(NMControlSessionRxMsg* msg);
virtual BOOL isFinished();
private:
Iap2RequestType findRequest(INT pkUID);
private:
typedef std::map<INT, Iap2RequestType> ReqRecord;
typedef std::pair<INT, Iap2RequestType> pair;
ReqRecord m_record;
};
建立对象的方法:
class TestNMIap2StackDevAudioCmp : public testing::Test
{
public:
TestNMIap2StackDevAudioCmp();
virtual ~TestNMIap2StackDevAudioCmp();
void SetUp();
void TearDown();
static void SetUpTestCase();
static void TearDownTestCase();
private:
NMIap2StackDevAudioCmp m_StackDevAudioCmp;
private:
TestNMIap2StackDevAudioCmp(const TestNMIap2StackDevAudioCmp&);
TestNMIap2StackDevAudioCmp& operator=(const TestNMIap2StackDevAudioCmp&);
};
------解决思路----------------------
我屏蔽了一些代码,可以过去。这些代码写在一起
使用的类:
class NMIap2StackDevAudioCmp : public NMIap2StackRestCmp
{
public:
explicit NMIap2StackDevAudioCmp(NMIap2StackCtx& context):
NMIap2StackRestCmp(context)
{
m_record.clear();
}
virtual ~NMIap2StackDevAudioCmp() {}
public:
virtual BOOL onEvent(NMIap2StackEvt& event);
virtual BOOL onProcReq(NMIap2StackRequest& request);
virtual BOOL onProcRes(INT pkUID, ComErrorCode code);
virtual BOOL onUsbDevSampleRateUpd(NMControlSessionRxMsg* msg);
virtual BOOL isFinished();
private:
Iap2RequestType findRequest(INT pkUID);
private:
typedef std::map<INT, Iap2RequestType> ReqRecord;
typedef std::pair<INT, Iap2RequestType> pair;
ReqRecord m_record;
};
建立对象的方法:
class TestNMIap2StackDevAudioCmp : public testing::Test
{
public:
TestNMIap2StackDevAudioCmp();
virtual ~TestNMIap2StackDevAudioCmp();
void SetUp();
void TearDown();
static void SetUpTestCase();
static void TearDownTestCase();
private:
NMIap2StackDevAudioCmp m_StackDevAudioCmp;
private:
TestNMIap2StackDevAudioCmp(const TestNMIap2StackDevAudioCmp&);
TestNMIap2StackDevAudioCmp& operator=(const TestNMIap2StackDevAudioCmp&);
};
------解决思路----------------------
我屏蔽了一些代码,可以过去。这些代码写在一起
class NMIap2StackDevAudioCmp
{
public:
// explicit NMIap2StackDevAudioCmp(NMIap2StackCtx& context):
NMIap2StackRestCmp(context)
{
// m_record.clear();
}
virtual ~NMIap2StackDevAudioCmp() {}
public:
// virtual BOOL onEvent(NMIap2StackEvt& event);
// virtual BOOL onProcReq(NMIap2StackRequest& request);
// virtual BOOL onProcRes(INT pkUID, ComErrorCode code);
// virtual BOOL onUsbDevSampleRateUpd(NMControlSessionRxMsg* msg);
// virtual BOOL isFinished();
private :
// Iap2RequestType findRequest(INT pkUID);
// typedef std::map<INT, Iap2RequestType>ReqRecord;
// typedef std::pair<INT, Iap2RequestType>pair;
// ReqRecord m_record;
};
class TestNMIap2StackDevAudioCmp
{
public:
TestNMIap2StackDevAudioCmp();
virtual ~TestNMIap2StackDevAudioCmp();
void SetUp();
void TearDown();
static void SetUpTestCase();
static void TearDownTestCase();
private:
NMIap2StackDevAudioCmp m_StackDevAudioCmp;
TestNMIap2StackDevAudioCmp(const TestNMIap2StackDevAudioCmp&);
TestNMIap2StackDevAudioCmp& operator = (const TestNMIap2StackDevAudioCmp&);
};