我有一个STSequencer
扩展类ofxDTanbileBase
。我有一个vector<ofxDTanbileBase>
基于我给出的类名返回的方法。我想回退,STSequencer
但出现以下错误:
'ofxDTangibleBase *' 不是一个类
Dynamic_cast 从右值到引用类型'STSequencer &'
这就是我尝试atm的方式:
vector<ofxDTangibleBase> sequencers = gTangibleList->findTangibleByClassName("STSequencer");
for (int i = 0; i < sequencers.size(); i++) {
STSequencer &sequencer = dynamic_cast<STSequencer&>(&sequencers[i]);
}
这是方法:
vector<ofxDTangibleBase> ofxDGlobalTangibleList::findTangibleByClassName(const char *className) {
vector<ofxDTangibleBase> returnVector;
for (int i = 0; i < _tangibles.size(); i++) {
ofxDTangibleBase &t = _tangibles[i];
if (t.className == className) {
returnVector.push_back(t);
}
}
return returnVector;
}
也欢迎更好的方法。