C++11 返回值类型与函数类型C++;

C++11 返回值类型与函数类型C++;,c++11,pointers,C++11,Pointers,对于下面的函数test和test2,我遇到了一个错误“返回值类型与函数类型不匹配” 我知道我正试图将我的“当前”指针传递给某个对象的值,这个函数接受一个浮点参数 然而,对于函数getTest,我尝试创建一个浮点变量chkTest来补偿 我仍然收到同样的错误 if (type == '1') { float chkTest = current->test; return getTest(chkTest); } if (type ==

对于下面的函数test和test2,我遇到了一个错误“返回值类型与函数类型不匹配”

我知道我正试图将我的“当前”指针传递给某个对象的值,这个函数接受一个浮点参数

然而,对于函数getTest,我尝试创建一个浮点变量chkTest来补偿

我仍然收到同样的错误

if (type == '1') 
    { 
        float chkTest = current->test;
        return getTest(chkTest);
    }
    if (type == '2') { return getTest2(current->test2); }
我在标题中对这些函数的声明如下:

auto getTest(float t);
auto getTest2(float t);
我的函数定义如下:

  auto TransactionType::getTest(float t)
{
    //Do Something...
};
auto TransactionType::getTest2(float t2)
{
    //Do Something...
};
如果我注释掉了我的函数定义,那么这个错误就会消失,所以很明显我的问题在函数定义中(如果我错了,请纠正我)

请提出解决方案和解释


谢谢。

使用
auto
作为返回类型可能是您遇到问题的根源。为什么不更具体一点?getTest和getTest2的定义是在您的代码使用它们之后,还是在另一个源文件中?这不是有效的C++11。
auto-getTest(float t)。在C++03中,它意味着
intgettest(float t)。你真的在使用C++11编译器吗?它应该会给你一个错误。