解决类的cpp文件中的名称冲突

阿德洛斯特

我想在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();
}

  • 可以做得更漂亮吗?
  • 有更好的解决方案吗?
一些程序员哥们

如果非成员bar函数在全局范围内,则可以使用作用域运算符::

int Foo::bar()
{
    return ::bar();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何解决引导类名称冲突

来自分类Dev

如何解决引导类名称冲突

来自分类Dev

解决SmartGit中的冲突-查找冲突文件

来自分类Dev

无法解决SVN冲突-存储库中两个具有相同名称的文件

来自分类Dev

飞镖名称冲突解决

来自分类Dev

Feature 分支中的文件冲突解决

来自分类Dev

OLE中Excel文件中的名称冲突

来自分类Dev

如何使用类自定义解决文件生成冲突

来自分类Dev

名称与类方法冲突

来自分类Dev

名称与类方法冲突

来自分类Dev

在C#中解决名称空间冲突问题?

来自分类Dev

Python中的模块名称冲突,如何解决?

来自分类Dev

如何在React Native中解决模块名称冲突

来自分类Dev

JAXB:无法解决ObjectFactory类错误中的冲突

来自分类Dev

JAXB:无法解决ObjectFactory类错误中的冲突

来自分类Dev

将其写在CPP类文件中

来自分类Dev

* .cpp文件中的Typedef模板类指针

来自分类Dev

解决Git中的冲突

来自分类Dev

如何避免CSS类名称的名称冲突

来自分类Dev

名称空间和类之间的名称冲突

来自分类Dev

如何避免CSS类名称的名称冲突

来自分类Dev

正确使用cpp文件中的函数定义的名称空间

来自分类Dev

如何解决类中变量的名称错误

来自分类Dev

抽象模型类和多个驱动类中的Django ForeignKey导致名称冲突

来自分类Dev

TypeScript中存在名称冲突时如何解决内部模块

来自分类Dev

解决在C ++中使用相同名称调用函数的方法中的冲突

来自分类Dev

解决R中函数名称冲突的最佳方法是什么?

来自分类Dev

如何解决可预测名称方案使用的网络接口命名方案中的冲突?

来自分类Dev

解决SourceTree中的Git冲突