【发布时间】:2012-03-21 13:12:44
【问题描述】:
在 C/C++ 中,当且仅当被调用者函数对调用者可见时,调用者函数才能调用被调用者函数,这意味着被调用者的定义应该在使用它之前完成,否则使用前向声明。
这是我的问题,
class A
{
public:
void foo()
{
bar();
}
void bar()
{
//...
}
};
int main()
{
A a;
a.foo();
}
上面的代码可以正常工作。但是foo 调用了bar 而我没有将bar 的定义放在foo 之前,或者转发声明bar,在foo 中调用bar 怎么可能工作?编译器如何找到bar?
【问题讨论】:
标签: c++ method-resolution-order