请懂c++的朋友帮忙看看 ( 积分: 50 )

  • 主题发起人 主题发起人 yl0971
  • 开始时间 开始时间
Y

yl0971

Unregistered / Unconfirmed
GUEST, unregistred user!
一个关于在动态库中的string使用的问题:
Dy_basic.dll 基类动态库
#include <iostream>
#include <fstream.h>
#include <string>
#include <stdlib.h>
#include <conio.h>
#include <vector>
#include <iomanip>
using namespace std;
class CWord_struct // 单词结构
{
public:
CWord_struct(void) { sx_num = 0;
if_add_num = false;
}
~CWord_struct();
void inline add_str_to_cx(const char * m_str)
{
if(if_add_num == false)
{
ci_xing.push_back(ci_xing[sx_num]);
ci_xing[sx_num] = m_str;
if_add_num = true;
}
return;
}
void inline add_str_to_js(const char * m_str)
{
if(if_add_num == true)
{
jie_shi.push_back(jie_shi[sx_num]);
jie_shi[sx_num] = m_str;
sx_num++;
if_add_num = false;
}
return;
}
string inline get_ci_xing(const int num) const
{
if(num>=sx_num) return NULL;
return ci_xing[num];
}
string inline get_jie_shi(const int num) const
{
if(num>=sx_num) return NULL;
return jie_shi[num];
}
private:
string name;
vector<string>
ci_xing;
vector<string>
jie_shi;
int sx_num;
bool if_add_num;
};

Phrase.dll 子类动态库
#include <iostream>
#include <string>
#include <conio.h>
#include <stdlib.h>
#include <vector>
#include <iomanip>
#include "CWord_struct.h"
#include "Phrase.h"
using namespace std;
class PHRASE_API CFind_Phrase : public CWord_struct
{
public:
CFind_Phrase(void);
~CFind_Phrase();
protected:
private:

};
我单独调用每个动态库都时正确的,但当我在在CFind_Phrase中继承了CWord_struct就出现了没有定语string等的错误,请大家帮我解决.
 
一个关于在动态库中的string使用的问题:
Dy_basic.dll 基类动态库
#include <iostream>
#include <fstream.h>
#include <string>
#include <stdlib.h>
#include <conio.h>
#include <vector>
#include <iomanip>
using namespace std;
class CWord_struct // 单词结构
{
public:
CWord_struct(void) { sx_num = 0;
if_add_num = false;
}
~CWord_struct();
void inline add_str_to_cx(const char * m_str)
{
if(if_add_num == false)
{
ci_xing.push_back(ci_xing[sx_num]);
ci_xing[sx_num] = m_str;
if_add_num = true;
}
return;
}
void inline add_str_to_js(const char * m_str)
{
if(if_add_num == true)
{
jie_shi.push_back(jie_shi[sx_num]);
jie_shi[sx_num] = m_str;
sx_num++;
if_add_num = false;
}
return;
}
string inline get_ci_xing(const int num) const
{
if(num>=sx_num) return NULL;
return ci_xing[num];
}
string inline get_jie_shi(const int num) const
{
if(num>=sx_num) return NULL;
return jie_shi[num];
}
private:
string name;
vector<string>
ci_xing;
vector<string>
jie_shi;
int sx_num;
bool if_add_num;
};

Phrase.dll 子类动态库
#include <iostream>
#include <string>
#include <conio.h>
#include <stdlib.h>
#include <vector>
#include <iomanip>
#include "CWord_struct.h"
#include "Phrase.h"
using namespace std;
class PHRASE_API CFind_Phrase : public CWord_struct
{
public:
CFind_Phrase(void);
~CFind_Phrase();
protected:
private:

};
我单独调用每个动态库都时正确的,但当我在在CFind_Phrase中继承了CWord_struct就出现了没有定语string等的错误,请大家帮我解决.
 
能不能把代码都贴出来,这样看不出问题来的。
class CDy_basic // 单词结构
{
public:
CWord_struct(void) { sx_num = 0;
if_add_num = false;
}
~CWord_struct();这些怎么与CDy_basic不同,应该单独调用也是错的。
 
上面的程序有点小问题,现以改正.
 
接受答案了.
 
后退
顶部