我试图使用g ++运行我的C ++程序,但出现以下异常:
“用于ocl :: CRException的typeinfo”正在使用包含CRException类的ocl命名空间。.请帮助我。
这是包含OCL类的代码:
#ifndef VOIDSOFT_ADA2_LIND_HH
#define VOIDSOFT_ADA2_LIND_HH
#include <string>
#include <list>
#include <queue>
#include <map>
#include <ocl.h>
#include "threaded.hh"
using namespace std;
using namespace ocl;
class circuit;
class Lind: public Threaded
{
public:
typedef int lookup_t;
private:
OraConnection connection;
pthread_mutex_t *done_m;
queue<pthread_t> *q;
lookup_t type;
public:
circuit *c;
Lind();
~Lind();
void *run();
map<string, pair<string, string> > *getnodes(string);
bool connect();
void disconnect();
private:
circuit *getcircuitinfo(string, circuit *c = 0);
void bindInStr(OraQuery &q, string arg, string bindvar, map<string, string> *properties);
map<string, pair<string, string> > *node2name(string);
};
/* Lookup types */
namespace LindLookupTypes {
/* Get overlying */
const int OL = 0x001;
/* Get underlying */
const int UL = 0x002;
}
#endif /* VOIDSOFT_ADA2_LIND_HH */
最佳答案
这通常意味着您忘记在某个地方定义(实现)虚拟方法。检查是否已定义ocl::CRException
的所有虚拟方法,并且定义它们的目标文件是否实际上已链接到您的代码。
如果没有帮助,请编辑答案并向我们显示CRException
的代码。