Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用用户定义的转换转换元组_C++_Templates_Type Conversion_Tuples - Fatal编程技术网

C++ 使用用户定义的转换转换元组

C++ 使用用户定义的转换转换元组,c++,templates,type-conversion,tuples,C++,Templates,Type Conversion,Tuples,我认为这段代码最好地解释了我要做的事情: #include <tuple> class B { public: B() { } }; class A { public: A() { } operator B() { return B(); } }; int main() { std::tuple<A, A> tup_a; std::tuple<B, B&

我认为这段代码最好地解释了我要做的事情:

#include <tuple>

class B
{
    public:
    B()
    { }
};

class A
{
    public:
    A() 
    { }

    operator B()
    {
        return B();
    }
};

int main()
{
    std::tuple<A, A> tup_a;
    std::tuple<B, B> tup_b;

    tup_b = tup_a;
    return 0;
}
您正在使用from
std::tuple
。它采用
const&
参数,这意味着您的转换必须可以从
const
对象获得

A级
内部

operator B() const
//           ^^^^^

请在问题中包含错误消息
operator B() const
//           ^^^^^