此代码编译(使用 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/