对重载函数的模糊调用(带有可变参数列表)

时间:2013-05-18 19:10:34

标签: c++ class compiler-errors

我有以下代码:

class Foo
{
    public:
        BOOL GetBar(char** ptr);
    private:
        BOOL GetBar(char** ptr, ...);
};

Foo* aFoo = ...;
char* aPtr = ...;

BOOL res = aFoo->GetBar(&aPtr);//error C2668

会产生以下错误:

error C2668: 'Foo::GetBar' : ambiguous call to overloaded function
        Foo.h: could be 'BOOL Foo::GetBar(char **,...)'
        Foo.h: or 'BOOL Foo::GetBar(char **)'
        while trying to match the argument list '(char **)'

有没有办法在不重命名其中一个GetBar函数的情况下修复此错误?

(Visual Studio 2005)

0 个答案:

没有答案