例如,我有一个结构,我正在使用类的静态函数来初始化其成员。我如何告诉编译器该类存在但是它是在结构S?
之后定义的struct S
{
S()
{
x = C::GetX(); //static functions, GetX() and GetY()
y = C::GetY();
}
int x; int y;
};
class C
{
/.... /
}
修改:我还会在struct S
中使用class C
答案 0 :(得分:2)
先放C
。
如果没有更多的背景,很难更深入地回答。
struct S;
class C
{
/.... /
};
struct S
{
S()
{
x = C::GetX(); //static functions, GetX() and GetY()
y = C::GetY();
}
int x; int y;
};
或者,您可能需要在S::S
块之外定义class S
。
struct S
{
S();
int x; int y;
};
class C
{
/.... /
};
S::S()
{
x = C::GetX(); //static functions, GetX() and GetY()
y = C::GetY();
}
答案 1 :(得分:0)
如果您在C
的定义中使用了类S
的成员函数,则需要在 {{1}之前声明C
}。