我想在Foo的“bar”方法中从“somelib”调用未编码的函数“bar”。
// .h
class Foo
{
int bar();
};
// .cpp
#include "Foo.h"
#include <somelib> // contains unscooped function bar()
int Foo::bar()
{
return bar(); // unwanted recursive function
}
解决它的一种方法是使用辅助函数,例如“bar_helper”
// .cpp
#include "Foo.h"
#include <somelib> // contains unscooped function bar()
// unnamed namespace
namespace
{
int bar_helper()
{
return bar(a);
}
}
int Foo::bar()
{
return bar_helper();
}
答案 0 :(得分:2)
明确范围,在本例中为全局范围:
return ::bar();
^^
答案 1 :(得分:2)
如果非成员bar
函数在全局范围内,则可以使用作用域运算符::
:
int Foo::bar()
{
return ::bar();
}