Я хотел бы вызвать функцию «bar» с незаданной областью из «somelib» в методе «bar» Foo.
// .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();
}
- Можно ли сделать его красивее?
- Есть ли лучшее решение?