虽然程序运行,但Ide发布错误

时间:2014-12-24 00:21:58

标签: c++ visual-studio boost

我有一些简单的代码:

#include <iostream>
#include <boost/variant.hpp>
using namespace std;

template <typename Arg, typename... Args>
auto WhichParametr(unsigned int n, Arg arg, Args... args) -> boost::variant < Arg, Args... > {
    if (n != 1)
        return WhichParametr(n - 1, args...);
    return arg;
}

template <typename T>
T WhichParametr(unsigned int n, T arg){
    return arg;
}

int main(){
    cout << WhichParametr(4, 1, 2, '3', "foo");
    cin.get();
    cin.get();
    return 0;
}

WhichParametr()函数返回给定的n参数(WhichParametr(1,2,3)返回2)。 我的IDE Visual Studio 2013表示没有与参数列表匹配的重载,艰难的程序运行正常。那些代码中有什么东西我不应该使用或者这只是愚蠢的IDE吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)