我有一堂课:
class MakeMeshStructure : public QObject
{
Q_OBJECT
public:
MakeMeshStructure(QObject* parent = 0) {}
在其功能之一中,我这样做:
CadPanel * paneli;
int npanelov = mesh.faces_end().handle().idx();
paneli = new CadPanel[npanelov];
然后这个:
for(int i=0; i<npanelov;i++){
if(paneli[i].wasSet)paneli[i].draw(this);
}
这是我的小组课:
class CadPanel : public QObject
{
Q_OBJECT
public:
CadPanel();
void draw(MakeMeshStructure* parent); //error here
错误是:错误27错误C2061:语法错误:标识符'MakeMeshStructure'
如何将MakeMeshStructure父级传递给此CadPanel函数使用?泰
最佳答案
您必须在类中添加转发类声明:
class MakeMeshStructure; // IMPORTANT: Declares a forwarding class
class CadPanel : public QObject
{
Q_OBJECT
public:
CadPanel();
void draw(MakeMeshStructure* parent); // no more error :)
}
请注意,如果这些类位于单独的名称空间中,则必须使用适当的名称空间来限定名称。
关于c++ - 将类作为函数参数传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11312541/