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;
}
您正在使用fromstd::tuple
。它采用const&
参数,这意味着您的转换必须可以从const
对象获得
A级内部:
operator B() const
// ^^^^^
请在问题中包含错误消息
operator B() const
// ^^^^^