【发布时间】:2014-04-28 22:28:11
【问题描述】:
好的,这是我的代码:
StatusType System::AddJobSearcher(void *DS, int engineerID, int reqSalary) {
if(DS == NULL || engineerID < 0 || reqSalary < 0) return INVALID_INPUT;
System* system = DS;
Engineer* engineer = new Engineer(engineerID, reqSalary);
if(!engineer) return ALLOCATION_ERROR;
if(system->All.isIn(*engineer->generateIdKey())) {
delete(engineer);
return FAILURE;
}
system->All.insert(*engineer->generateIdKey(), *engineer);
return SUCCESS;
}
现在,system 是一个类,而 DS 应该是指向一个类的指针。 当我尝试将新创建的系统指向 DS(System* system = DS;) 我得到:
从 'void*' 到 'System*' 的无效转换 [-fpermissive]
我该如何解决这个问题
【问题讨论】:
-
多么糟糕的代码。你确定你懂 C++?
-
不是真的...但是谢谢:)
标签: c++ pointers type-conversion