是否有可能超载自动? (C ++)

时间:2016-01-26 02:50:00

标签: c++ dynamic types overloading auto

我只是想知道,是否有可能使用几种后期指定的返回类型来重载自动类型? 我想要做的是在我的构造函数类中使用动态类型参数 调用一个泛型函数returnValue(),它能够使用动态构造函数返回动态类型。我只是一些想法,比如使用虚拟继承或模板,但我不确定所以我要求得到任何建议,谢谢(在c ++中获取动态类型似乎比c#更难)

#pragma once

class AutoType
{
public:
    AutoType();
    ~AutoType();
    auto returnValue()->float(*)[1];
    //auto returnValue()->int(*)[1];
    //static const auto staticAuto;

    /*
    int returnValue(){
        return 1;
    }
    float returnValue(){
        return 2;
    }
    long returnValue(){
        return 123;
    }*/

};

1 个答案:

答案 0 :(得分:4)

  

是否可以使用几种后期指定的返回类型来重载自动类型?

没有。您不能仅基于其返回类型重载函数/方法。只有其参数可用于重载解析。您要求的内容必须使用模板或返回类似boost::any的运行时变体类型来解决。