在 C/C++ 中,当且仅当被调用者函数对调用者可见时,调用者函数才能调用被调用者函数,这意味着被调用者的定义应该在使用它之前完成,否则使用前向声明。
这是我的问题,
class A
{
public:
void foo()
{
bar();
}
void bar()
{
//...
}
};
int main()
{
A a;
a.foo();
}
上面的代码可以正常工作。但是foo
调用bar
并且我没有在bar
' 之前foo
或 forward-declare之前放置定义bar
,调用bar
in怎么会foo
起作用?编译器怎么能找到bar
?