我想将一个类指针传递给一个函数,该函数是另一个类的成员,但它不起作用。如果函数fill_packet
不是任何类的成员,则代码编译不会出现问题:
// WORKS FINE:
class Packet{
private:
char *contents;
public:
void pack();
};
void fill_packet(Packet *a){
a->pack();
};
但是,如果该函数fill_packet
位于另一个类(此处为Worker)中,则一旦我尝试访问a
.
// WON'T COMPILE:
// error: ‘Packet’ has not been declared
class Worker{
public:
void fill_packet(Packet *a){
a->pack();
};
};
class Packet{
private:
char *contents;
public:
void pack();
};
有人可以给我见解吗?提前致谢