c++ - 不能使用与成员函数同名的辅助函数

标签 c++

此代码编译(使用 GCC/C++11):

void doStuff_HELPER(int a) { /**/ }

class SomeClass{

public:
    void doStuff() {doStuff_HELPER( 10);}

};

这不是:

void doStuff(int a) { /**/ }

class SomeClass{

public:
    void doStuff() {doStuff( 10);}

};

它并没有说它是模棱两可的或者它不能被重载或者它只是说:“没有匹配的函数 SomeClass::doStuff(int)”,“候选:void SomeClass::doStuff()”。这是正确的行为吗?标准对此有何规定?

(此外,此类辅助函数的最佳实践是什么?是否应该将它们放入单独的命名空间?)

最佳答案

明确指定范围调用它:::doStuff(10);

关于c++ - 不能使用与成员函数同名的辅助函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48815929/

相关文章:

c++ - 超出 DirectX11 视频内存

c++ - 序列返回 49 但应该返回 36

c++ - std::list.unique() 应该使迭代器无效吗?

c++ - 完美包装一个函数

JavaCPP 在函数消歧方面失败

c++ - MinGW 作为可靠的 64 位 GCC 编译器

c++ - fstream 和 setw 没有正确对齐输出

c++ - 在 C++11 中使用正则表达式回顾

c++ - 方法中使用的静态模板成员数组sizeof

与 Jenkins 集成的 C++ 性能指标